Ich versuche, ein Hobby/Bildungsprojekt auf den Weg zu bringen, das Benutzerkonten beinhaltet. Natürlich wird es für die Benutzer wichtig sein, sich sicher anmelden zu können. Die Informationen, die ich für Nutzer speichern und transportieren werde, sind nicht dazu gedacht, persönlich oder persönlich identifizierbar zu sein, aber grundsätzlich möchte ich, dass der Passwort-Transport so sicher wie möglich ist.Wie kann ich sicher Benutzerkennwörter ohne HTTPS zum Back-End bekommen?
Ich verstehe, dass der beste Weg, um das Passwort des Benutzers sicher an das Back-End von vorne zu erhalten, ist die Verwendung von HTTPS. Ich möchte jedoch nicht für eine CA für dieses Lern-/Experimentprojekt bezahlen, und ich möchte auch keine Browserwarnungen für selbstsignierte Zertifikate erhalten, denn obwohl dies ein Hobbyprojekt ist, würde ich es gerne teilen es mit der Welt (wie ein Portfolio-Stück, etwas mit Freunden zu teilen, für die Menschen tatsächlich nützlich und Spaß zu finden).
Zugegeben, Sie haben Recht, wenn ich möchte, dass es ein "Portfolio-Stück" ist, sollte ich Best Practices wie HTTPS verwenden, aber ich möchte immer noch keine jährliche CA-Gebühr für was bezahlen Letztlich ist ein Hobby/Lernprojekt.
Ich betrachte die asymmetrische Kryptographie-Lösung hier gefunden: https://github.com/travist/jsencrypt Es ist ganz wie die von ArthuruhtrA vorgeschlagen, und scheint vielversprechend. Es verwendet einen öffentlichen/privaten Schlüssel, sodass ich mit dem öffentlichen Schlüssel am Frontend verschlüsseln und verschlüsselt am Backend mit einem geheimen/privaten Schlüssel entschlüsseln kann (wobei vor dem Speichern in einer Datenbank die richtigen Salting-/Hash-Verfahren verwendet werden) . Scheint das einigermaßen sicher, wenn auch untraditionell?
Gibt es einen anderen, besseren Weg, um Benutzerinformationen (z. B. ein Kennwort) ohne Browserwarnungen und ohne unnötig Geld auszugeben, sicher ans Backend zu senden?
Sie könnten sich einfach in Google Apps hosten - oder in einem anderen Dienst, der bereits über eine SSL –
Hostversion auf AWS Free Tier verfügt, damit ich etwas über AWS erfahren kann. Ich weiß, dass AWS CA-Dienste kostenlos zur Verfügung stellt, aber ich muss herausfinden, ob sie diesen Dienst im Free-Tier anbieten. Selbst wenn dies der Fall wäre, müsste ich das selbstsignierte Cert-Paket durchgehen, um vor der Bereitstellung in AWS lokal zu testen? – Steverino
Mögliches Duplikat von [Login ohne HTTPS, wie sichern?] (Http://stackoverflow.com/questions/2336678/login-without-https-how-to-secure) – SilverlightFox