2012-07-25 19 views
9

Mi principal preocupación es la siguiente:meteoro manipulación

  • desde meteoro se basa en JavaScript, se puede cambiar/manipulado @ lado del cliente, así que lo que sucede si cambio o crear nuevas colecciones y de inicio para enviar spam al archivo db, será solo al lado del cliente (solo memoria) o en ambos lados, es decir, también del lado del servidor.

  • ¿La entrada del usuario se limpia desde xss antes de guardarla en el lado del servidor?

+0

También me gustaría saber esto - Navegué por el sitio web un poco y me detuve en seco una vez que leí que * todo * se hace en js. No es que tenga nada en contra, pero prefiero al menos una pizca de seguridad del lado del servidor para dormir bien por la noche. –

+1

Estoy bastante seguro de que "Todo está hecho en JS significa" desde el punto de vista del lenguaje. Todavía hay una separación entre el servidor y el lado del cliente. –

Respuesta

3

Si crea una nueva colección en el lado del cliente, el servidor no tienen conocimiento de esto y tampoco va a crear el material necesario para editar el lado del servidor de base de datos. Los datos enviados por correo no deseado estarán solo en la memoria del lado del cliente.

Trees = new Meteor.Collection("boom"); 
    Meteor.Collection 
Trees.insert({hi:"hi"}); 
    "4b0d5ff2-058c-4041-849b-ce2e0d548160" 
logging.js:30: insert failed: 404 -- Method not found 
+0

esto es correcto y para aclarar aún más no tiene conocimiento porque no se ha suscrito. A menos que empiece a alterar una colección suscrita existente, no hay nada que impida que esto suceda. – Adgezaza

+2

para evitar el atemperamiento con la colección suscrita debemos gestionar las secciones críticas bloqueando los métodos de ayuda de la base de datos en el servidor como se muestra en [brito] (http://britto.co/blog/security_with_meteor) esto debería hacer el truco, supongo : 'Meteor.startup (function() { _.each ([/ ** colecciones nombres ** /], la función (colección) { _.each ([ 'inserto', 'actualización', ' eliminar '], la función (método) { Meteor.default_server.method_handlers [' /' + colección + '/' + método] = function() {}; }); }); }); ' Gracias a todos. –