2012-07-25 11 views
9

Mein Hauptanliegen Manipulation ist die folgende:Meteor xss Code

  • seit Meteor auf JavaScript basiert, kann es @ Client-Seite geändert/manipuliert werden, so was passiert, wenn ich neue Kollektionen und Start ändern oder erstellen um die db zu spam wird es nur @ client seite (nur speicher) oder auf beiden seiten dh auch serverseite sein.

  • wird die Benutzereingabe von XSS vor dem Speichern auf der Serverseite bereinigt?.

+0

Ich würde auch gerne das wissen - ich durchsuchte die Website für ein wenig und hielt kurz nachdem ich das gelesen * alles * in js getan. Nicht, dass ich etwas dagegen hätte, aber ich bevorzuge nur ein bisschen serverseitige Sicherheit, um nachts gut schlafen zu können. –

+1

Ich bin mir ziemlich sicher "Alles ist in JS bedeutet" aus der Sicht der Sprache. Es gibt immer noch eine Trennung zwischen Server- und Client-Seite. –

Antwort

3

Wenn Sie eine neue Kollektion auf der Client-Seite zu erstellen, wird der Server keine Kenntnis davon hat und auch nicht das notwendige Material erstellen die Datenbank Server-Seite zu bearbeiten. Die gespammten Daten befinden sich nur im clientseitigen Speicher.

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

das ist richtig und zur weiteren Klärung hat es keine Kenntnis, weil es nicht abonniert hat. Sofern Sie nicht damit beginnen, eine bestehende abonnierte Sammlung zu manipulieren, gibt es noch nichts zu verhindern. – Adgezaza

+2

Um zu verhindern, dass wir mit der abonnierten Sammlung temperieren, sollten wir kritische Abschnitte verwalten, indem wir die Datenbank-Hilfsmethoden auf der Serverseite sperren, wie in [brito] (http://britto.co/blog/security_with_meteor) gezeigt : 'Meteor.startup (function() { _.each ([/ ** Sammlungen Namen ** /], Funktion (Sammlung) { _.each ([ 'Insert', 'Update', ' entfernen '], Funktion (Methode) { Meteor.default_server.method_handlers [' /‘+ Sammlung + '/' + Methode] = function() {}; }); }); }); ' Danke allen. –