2011-01-03 22 views
1

Dies ist eine ziemlich grundlegende Frage. Nehmen wir an, ich habe diese iPhone/iPad App, die dem Benutzer irgendwann die Möglichkeit gibt, sich anzumelden. Der Benutzername/PW wird in der Datenbank des Servers gespeichert.Geschützte Senden/Empfangen von Daten über HTTP

Was ist der beste Weg, um mit dem Server zu kommunizieren, um zu überprüfen, ob der Benutzername/PW korrekt sind. Wie kann ich sicher senden & erhalten diese Anfragen über HTTP (ohne die einfache PW senden)? Welche Verschlüsselung/Entschlüsselung sollte ich verwenden (sowohl in-app als auch serverseitig)?

Antwort

2

Verwenden Sie einfach SSL (d. H. Https). Was auch immer Sie tun, rollen Sie nicht Ihre eigene Krypto!

+0

Vielen Dank, dass Sie darauf hingewiesen haben. Ich bin nicht sehr bekannt mit SSL/HTTPS. Wie implementiere ich so etwas? Ist es viel Arbeit? Kennen Sie einen Artikel, mit dem ich anfangen sollte? – 0x8b4df00d

+0

Wenn du nur die URL änderst, von der du sprichst, von "http: // was auch immer" zu "https: // was auch immer", dann sollte alles wie Magie funktionieren ... aber die Dinge können auf einem iPhone oder iPad anders sein. Sie müssen ein Serverzertifikat einrichten. Sehen Sie in der Dokumentation Ihres Webservers nach, wie das geht. –

+0

Aus meiner Erfahrung benötigen Sie für die Verwendung von SSL auf dem iPad ein Zertifikat und können kein selbst ausgestelltes Zertifikat verwenden. Als wir es selbst ausstellten, löschte es die Verbindung. – Beaker

-1

, wenn Sie nicht wollen, das Passwort Klartext senden, sollte Sie MD5-Hash verwenden (dort in Funktion in iPhone gebaut wird) verschlüsseln das Passwort mit md5 Funktion und es an den Server senden.

Wenn die Server-DB das Kennwort im Klartext hat, kann er auch md5-Hash erstellen und mit dem vergleichen, den er vom Client erhalten hat.

Sie können diese Methode auch verwenden, um Ihren Benutzernamen zu verschlüsseln.

+0

Das ist aus so vielen Gründen falsch. MD5 ist kaputt; ** Nie ** Passwörter im Klartext speichern; Hashing ist keine Verschlüsselung; "Du bist" sollte "dein" sein. –