2012-06-14 12 views
6

estoy aprendiendo Backbone.js por el momento, lo siento si mi pregunta es nooby :-PBackbone.js Seguridad

en mi programa verifico mis datos en el lado del servidor sea correcta y etc ... pero me preguntaba qué sucederá si los usuarios cambian los datos almacenados en los modelos que usan Console en FireBug, por ejemplo, y prueban .save() o .fetch().

¿Hay alguna manera de detener tales acciones?

teniendo en cuenta que todos mis datos van a ser almacenados en modelos y pueden ser recuperados fácilmente por los usuarios. No estoy realmente cómodo usando backbone.js, ¿soy yo o hay algo mal aquí?

+0

No, no puede detener nada en el lado del cliente (red troncal o no), validar los datos en el lado del servidor. – Esailija

Respuesta

6

Una forma simple y segura es incluir las credenciales del usuario (nombre de usuario y contraseña) en su modelo y verificarlo en el servidor para cada llamada AJAX.

Para evitar tanto requets bdd, también puede generar una matriz asociada de id => serial key a cada uno conectado de usuario en el lado del servidor y enviarlo por fetch() Durante el proceso de autenticación y, a continuación, comprobar si el ID y el número de serie que ha generado coincide con cada llamada AJAX.

6

pero me preguntaba qué sucederá si los usuarios cambian los datos almacenados en los modelos que utilizan la consola en FireBug, por ejemplo, y prueban .save() o .fetch().

A continuación, los datos editados se presentaría al servidor

¿hay alguna manera de detener este tipo de acciones?

No, solo tiene que tratar con ellos de la misma manera que usted trata con cualquier solicitud: Realice la autenticación/autorización para asegurarse de que el usuario que realiza la solicitud puede hacerlo.

teniendo en cuenta todos mis datos va a ser almacenada en los modelos y puede ser recuperada fácilmente por los usuarios que no soy muy cómodos utilizando Backbone.js

Entonces no lo uso.

Pero no seas paranoico acerca de mantener los datos en secreto si se trata de cosas que mostrarías al usuario si no estuvieras usando un framework de cliente como backbond.

+0

tal vez la razón por la que estoy paranoico es que escribí algunos robots sobre orugas que obtienen datos de algunos sitios web en particular ... que para ser honesto hicieron todo lo posible para detener esos robots: - ?? –

5

teniendo en cuenta que todos mis datos serán almacenados en modelos y pueden ser recuperados fácilmente por los usuarios. No estoy realmente cómodo usando backbone.js, ¿soy yo o hay algo mal aquí?

No está haciendo nada incorrecto, pero no utilizar Backbone no hará que su sitio sea más seguro. Incluso si no está utilizando Backbone, puedo iniciar la consola mientras esté en su sitio y hacer cualquier solicitud de Ajax que quiera a su servidor. Si quisiera llevarlo más lejos, podría construir una aplicación que haga cualquier solicitud que desee.

No se puede implementar ninguna seguridad real en el lado del cliente. Esa es la responsabilidad del servidor, independientemente de si está utilizando algo como Backbone o no.