Die Schaffung eines sicheren login-script in PHP und MySQL ohne HTTPS
Frage
Ist dieser Beitrag, der auf WikiHow eine gute Referenz zu erstellen, die ein Sicheres login script in PHP und MySQL? Im Abschnitt Warnhinweise, die Autor(en) betont, dass der code nur verwendet werden kann, mit HTTPS. Ich bin nicht in der Lage, HTTPS zu verwenden, aber benötigen, um zu implementieren ein relativ Sicheres login script in PHP und MySQL, und war daher die Frage, ob das Drehbuch umgesetzt werden könnten, für eine HTTP-Verbindung als gut.
Gelöst
Dritte Lösung ist die beste Lösung für eine sichere login-script in PHP und MySQL. Durch die Verwendung eines PHP-Frameworks (z.B. Symfony, uLogin) oder externen Parteien (z.B. Facebook, Google), die Notwendigkeit zu schaffen ein völlig neues, funktionierendes login-script plus Autorisierung (Remember Me - Funktionalität) können vermieden werden. Wenn andere getan haben, Gründliche recherche und Erfahrung zu erstellen, login-Funktionen, ist es viel sicherer und einfacher zu verwenden Ihre Arbeit.
- Dieser Artikel beschreibt Ihnen genug Sicherheit Dinge, die für den sicheren login-Skript kvcodes.com/2017/05/create-secure-login-system-php-mysql
- Ich bin nicht einverstanden, es stützt sich auf viele schlechte oder vom practices (Einsatz von
global
, statische Konfiguration, nicht-prepared statements, mangelnde passwortd Hash-Dienstprogramme, und ein paar weitere Dinge, die ich könnte-hammer) - ich würde nicht empfehlen, dieses tutorial zu jedermann.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Obwohl Sie könnten, erstellen Sie ein login-system selbst, es wird dringend empfohlen, damit externe Parteien, die es für Sie tun.
Es braucht viel Erfahrung, um es richtig zu machen, und es so oft falsch gemacht wird.
Obwohl das tutorial sieht okay für mich, es gibt einfach so viele Faktoren zu berücksichtigen, und es scheint auch zu semi-alt. PHP 5.5 bietet
password_hash
undpassword_verify
, die ich empfehlen würde, über das, was Ihre Seite schlägt.Also, wenn Sie haben, um Ihr eigenes system; erwägen Sie die Verwendung der oben genannten Funktionen, wenn Sie eingeschränkt, um den unteren php-Versionen gibt es backports auf die version 5.3.7 verfügbare.
Wenn Sie nicht haben, um Ihr eigenes system Gebrauch machen, die von externen Dritten (Google, Facebook) zu behandeln, die Protokollierung in der für Sie, oder nutzen Sie einen Rahmen, der Authentifizierung Unterstützung.
So, in den Allgemeinen Kern von ihm: versuchen Sie nicht, es selbst zu tun, Gebrauch machen von dem, was andere Menschen bieten, die jahrelange Erfahrung in der it. Da ist es unglaublich schwer, es richtig zu machen.
Dieses Skript sicher verschlüsselt den Benutzer eingegebene Passwort in Ihrem browser und löscht das Klartext-Passwort-Feld ein, bevor das Formular gesendet haben, damit das Kennwort nicht gelesen werden kann durch Dritte. Insofern kann das Skript verwendet werden, sicher über HTTP.
Jedoch, den rest des Formulars Daten - Benutzername, die E-Mail-Adresse, etc. - ist nicht sicher übertragen, so dass ein Dritter (z.B. der Mann in der Mitte) identifizieren konnte der Benutzer nur durch das Lesen seiner/Ihrer (nicht verschlüsselte) persönlich-identifizierbaren Informationen, die gesendet durch die form. Dies hat nicht nur lassen Sie Ihre Benutzer anfällig, aber die unsichere Behandlung von Benutzer-Daten können, lassen Sie Ihre Arbeitgeber/- client zu öffnen, um rechtliche Risiken im Falle der Daten ist je geschnüffelt/gehackt/gestohlen.
Gibt es auch die Reale Gefahr, dass ein man-in-the-middle könnte abfangen der übertragenen Daten und ändern Sie es, unentdeckt, bevor es vom server empfangen hosting Skript. HTTPS/SSL schützt nicht nur Passwörter, sondern auch sichergestellt, dass keine Daten manipuliert.
Als Zarthus erwähnt, am besten natürlich von action ist zu gehen mit einem Drittanbieter-Lösung, vor allem, wenn Sie nicht bieten können Sie HTTPS für Ihre.