2010-11-04 18 views
19

Ich habe eine Registrierungsbox, und ich möchte, dass sich Benutzer über Ajax registrieren. Ist es sicher, ein Passwort über jquery ajax zu senden? Wenn nicht, kann jemand erklären, was zu tun ist, um Kennwortdaten, irgendein Beispiel zu sichern?jQuery, Passwort über Ajax senden?

Antwort

7

Nur um zu verdeutlichen, gibt es keine 100% sichere Methode, um irgendwelche Daten mit Ajax oder sogar einem normalen POST zu senden.

Eine gute Vorgehensweise ist die Verwendung von SSL/TLS-Zertifikaten. Wenn Sie ein gutes SSL/TLS-Zertifikat haben, kann niemand das Passwort aus der Beobachtung Ihres Netzwerkverkehrs herauslesen.

Leider sind diese Dienste nicht kostenlos. (*)

Wenn Sie nicht für so etwas bezahlen möchten und eine Registrierung/Anmeldung erstellen, können Sie einfach OpenAuth oder OpenID verwenden und Personen mit Hilfe von Social Networks beitreten, wodurch viele Sicherheitsschritte vermieden werden und Serverseite.

*: Wie bereits angedeutet durch Ivan Venediktov, können Sie jetzt ein kostenloses SSL-Zertifikat erhalten, indem diese LINK folgen.

+0

Ich muss dies überprüfen.Tnx – user147

+24

Ich glaube nicht, dass dies etwas über Sicherheit sagte – Elaine

+1

Es ist nicht sinnvoll, wenn Sie Firebug, seine Anzeige Benutzername und Passwort haben. Jeder Benutzer mit Wissen über Firebug oder etwas kann Ihre Anfrage von der Konsole sehen und kann den Code –

6

Wenn Sie HTTPS (SSL) verwenden (und tun Sie bitte für alles, was sicher sein muss) dann ist eine AJAX-Anfrage nicht mehr oder weniger sicher als eine vollständige Postback auf den Server.

19

Stellen Sie sicher, dass Sie es per POST senden und verwenden SSL anstelle von einfachen alten http und Sie sollten in Ordnung sein. Das Senden über AJAX macht es nicht weniger sicher als ein normaler Post.

Siehe this answer (und eine weitere Diskussion here) für eine genaue Erklärung, aber die jist davon ist, dass die Anfrage Sie machen, und die Informationen, die über den Draht übertragen wird, ist im Grunde gleich, ob seine AJAX Anfrage oder Formular senden.

+4

Ich möchte hinzufügen, dass die gesamte HTTP-Anfrage, ob POST oder GET über eine HTTPS-Verbindung verschlüsselt ist. Keine der beiden ist sicherer als die andere, mit der Hauptausnahme (die hier nicht anwendbar ist), dass URLs in der Adressleiste einer Benutzerleiste zu sehen sind - und Sie möchten möglicherweise kein Passwort im Verlauf des Benutzers gespeichert haben. – EBarr

+0

Kannst du relevante Links oder mehr Informationen zu diesem Thema posten? –

+1

@SiddharthSharma Mit einigen Links zu anderen Fragen im Netzwerk aktualisiert. – Radu

5

Es ist genauso sicher/unsicher wie das Senden des Passworts über ein vollständiges Post-Back. Sie müssen eine verschlüsselte Verbindung verwenden, um sicher zu sein (r). Verwenden Sie SSL (https: //).

+0

Upvoted für "safe (r)" – TheCarver

3

Wenn Sie mit Sicherheit einen Schritt weiter gehen wollen. Sie brauchen nicht einmal das Benutzer-Passwort zu sammeln, können Sie einen Hash erzeugen können (mit Salz!) Auf der Client-Seite mit so etwas wie diese http://www.movable-type.co.uk/scripts/sha1.html dann nie das Passwort sehen, nur den Hash

Das einzige Problem mit Dies ist Javascript erforderlich. Sie können jedoch leicht einen Fallback

+0

Was ist, wenn ein Mann in der Mitte den Hash schnüffelt? Könnte er sich immer noch anmelden? – Kebman

+0

ja, aber Sie verlieren das Passwort nicht. Eine andere ist sendet eine eindeutige Salz für jeden Login-Versuch, erzeugen Sie einen Hash auf dem Client mit dem Passwort + einzigartige Salz. Aber dann wirst du einfach übermäßig komplex. –

+0

Aber da du auch die Webseite sendest, wird der Mann in der Mitte auch nicht die Verschlüsselungsmethode kennen, so dass er es sehr leicht knacken kann? Ich meine, könnte das Salz nicht auch leicht abgefangen werden, wenn er schon schnüffeln könnte, was der Klient schickt? – Kebman