Frage von Mr1903, 28

PHP: ist es Sicher ein Passwort in ein PHP Script zu schreiben?

Hallo, ich wollte mal wissen ob es sicher ist wenn ich Passwort und Benutzername eines Losggins anstatt in eine SQL Datenbank in das PHP Script schreibe.

Danke schon mal im Voraus. :)

Hilfreichste Antwort - ausgezeichnet vom Fragesteller
von PeterKremsner, 13

Naja das kommt drauf an wie viel Aufwand es ist in deine Datenbank einzubrechen im Vergleich wie viel Aufwand es ist den Quellcode des Skripts zu lesen.

Für gewöhnlich sollte beides nicht einfach möglich sein, von da her kannst du die Eingabedaten auch ins Skript schreiben, wobei die eben in der Datenbank sicherer sind.

Btw das Passwort niemals im Klartext speichern, sollte deine Datenbank oder was auch immer gehackt werden, ist das Passwort dann für jeden Sichtbar und kann verwendet werden.

Passwörter immer als Hash mit einem Salt speichern, am besten den SHA512 Hash verwenden.

Kommentar von DexterNemrod ,

Sicherer wird es nicht in der Datenbank, sondern dadurch, dass es nicht im Klartext gespeichert wird. Ob das Klartextpasswort in der Datenbank oder im Script stehen ist unerheblich. Im gegenteil halte ich es sogar für einfacher, in die Datenbank einzusteigen, wenn die Scripte SQL-Injections ermöglichen.

Kommentar von PeterKremsner ,

Das kommt auf die Sicherung der Datenbank drauf an....

Die Datenbank ist jedenfalls schwerer zu knacken, als ein Passwort in einem File das irgendwo auf dem Server liegt und aufgrund unzureichender Sicherung einfach geöffnet werden kann.

Braucht nur ein öffentlich zungänglicher Ordner ohne index.html Datei rumliegen, der Browser zeigt dann die Dateien in dem Verzeichnis einfach an, das Parsing von PHP Dateien ist zwar nicht so einfach zu umgehen, sollte das ganze aber in einer Config Datei oder so stehen ist das gleich ganz anders.

Bei der Datenbank machst du im einfachsten Fall eine SQL Injection, aber das Funktioniert auch nicht immer, je nachdem wie das PHP Skript mit den SQL Rückgabewerten umgeht und welche Berechtigungen der jeweilige Datenbankzugang hat.

Der Hash selbst macht es auch nicht unmöglich das Passwort zu verwenden um den Server zu knacken, siehe Pass-the-Hash Angriffe, in so fern muss der Hash ebenfalls sicher verwart werden.

Antwort
von MonkeyKing, 15

Es ist prinzipiell nicht wirklich unsicherer als das Passwort in eine Datenbank zu schreiben. Zumindest solltest du aber das Passwort nicht im Klartext abspeichern sondern nur einen Hash.

Antwort
von Drakus86, 6

Als ich mein Gästebuch programmiert habe, habe ich die Logindaten in einer Textdatei speichern lassen. Dies geschieht über den md4hash. Die Textdatei war wiederum über ein zweites Passwort gesichert.

Der Ordner wurde ebenfalls gesichert.

Sollte jemand deine Textdatei öffnen können, würde er den Algorithmus nicht so schnell umwandeln können.

Eine SQL-DB kann man jedoch auch leicht "hacken".

Daher macht das fast keinen Unterschied, solange du dich doppelt absicherst.

Kommentar von LeonardM ,

eine sql db kann man oft nicht "einfach" hacken.. ausserdem ist md4 und md5 nichtmehr sicher (kollision). und idr sind hashverfahren einmalverfahren dh man kann nichtmehr den ursprünglichen plaintext wiederherstellen

Kommentar von PeterKremsner ,

hashverfahren einmalverfahren dh man kann nichtmehr den ursprünglichen plaintext wiederherstellen

Sollte ja auch der Sinn des erzeugen des Passwort Hashs sein ;)

Antwort
von LeonardM, 14

Nö. Übrigens solltest du mal über hashing nachdenken

Antwort
von Remo9999, 3

Ich habe schon Webseiten gesehen wo der php Code sichtbar war. Ich glaube das ist der Fall wenn der Parser kaputt ist.

Keine passende Antwort gefunden?

Fragen Sie die Community