PHP sicheres Login System?

3 Antworten

Einfach gar nicht selber schreiben. Sondern was fertiges nehmen. Dein Code z.B. geht so nicht -- Passwörter werden a.) nicht ohne Salt und b.) nicht mit einer gebrochenen Hash Funktion wie md5 gehasht.

keycloak + add on im Web Server

oder ein login aus einem Framework.


Freeser1977 
Beitragsersteller
 13.03.2021, 10:29

kannst du mir ein Link zu einem fertigen script schicken, was ich eventuell nehmen könnte? Das mit dem md5 hash habe ich nur auf der Registrier Seite eingefügt beim Eintrag des Passworts in die Datenbank.

triopasi  13.03.2021, 10:31
@Freeser1977

Du bist offensichtlich Anfänger und lernst noch. Da würde ich mich darum jetzt erstmal keine Sorgrn machen.

Lass es lieber so und übe erstmal die Grundlagrn weiter bevor du irgendwelche Dinge reinkopierst die du nicht verstehst.

Hi, zuerst mal darfst du Eingaben nie trauen, das heißt das du immer jeden übermittelten Wert entschärfen musst (mysql_real_escape_string, addslashes, htmlspecialchars)

dann nie MD5 alleine benutzen, besser mit Salt arbeiten (geheimer auf dem Server gespeicherter String) der vor oder nach dem Werten geschrieben wird.

Dann mit MySQLI und prepare arbeiten, somit werden Werte nachträglich in die SQL Anweisung eingefügt und immer als String behandelt (sql Injektion verhindern)

Dann fällt mir noch ein, dass du DB Zugänge am besten in einer extra DB Config php Datei speichern solltest. pw, DB-Name und Tabellenhälfte als Variablen anlegen und mit include einbinden

Ich hoffe, dass Dein DB Passwort nicht nur 3 Zeichen hat 🤟🏻, um so länger und fraktaler umso besser, ist ja egal weil wie oben genannt das per in einer extra file steht

Grüße

Woher ich das weiß:Recherche

Benutze kein MD5

alle PHP-Hashes findest du hier: https://www.php.net/manual/de/function.hash.php

Frage in der datenbank query doch direkt nach dem Usernamen. Dann brauchst du keine while schleife.

Desweiteren benutze am besten pdo mit prepared statements.

Alles dazu hier:

https://www.php.net/manual/de/class.pdo.php

Ein fertiges Script:

https://www.php-einfach.de/experte/php-codebeispiele/loginscript/

Woher ich das weiß:Hobby – Programmiere seit 2017 Webapplikationen