jensgebken
Goto Top

Password versand bei logintool

Hallo Gemeinschaft,

habe ein Loginscript, bei dem leider die passwort vergessen funktion fehlt -

so wird das password weggeschrieben beim anlegen eines neuen users

if(!$error) {    
        $passwort_hash = password_hash($passwort, PASSWORD_DEFAULT);
        
        $statement = $pdo->prepare("INSERT INTO users (email, passwort) VALUES (:email, :passwort)");  
        $result = $statement->execute(array('email' => $email, 'passwort' => $passwort_hash));  

könnt ihr mir vielleicht beschreiben, wie ich es dem user als plain text wieder zusenden kann

mal alle sicherheitsbedenken aussen vor gelassen

gruss

Content-Key: 451202

Url: https://administrator.de/contentid/451202

Printed on: April 18, 2024 at 05:04 o'clock

Member: Kraemer
Kraemer May 14, 2019 updated at 15:36:55 (UTC)
Goto Top
Zitat von @jensgebken:
könnt ihr mir vielleicht beschreiben, wie ich es dem user als plain text wieder zusenden kann
ganz einfach, indem du das Passwort irgendwo plain speicherst...
Mitglied: 139708
139708 May 14, 2019 updated at 17:13:16 (UTC)
Goto Top
mal alle sicherheitsbedenken aussen vor gelassen
Macht man niemals und das geht aus einem Hash auch nicht da es ein Oneway Verfahren ist, in so einem Fall generiert man immer ein neues ändert es in der DB und sendet es entweder dem User an seine Mail und fordert ihn auf ein neues zu generieren oder es wird ein Token generiert und der User via Mail auf eine spezielle Passwort-Ändern Seite geleitet.
Passwörter speichert man niemals als Plaintext!

Gruß wireguard
Member: Lochkartenstanzer
Lochkartenstanzer May 14, 2019 updated at 17:02:24 (UTC)
Goto Top
Zitat von @jensgebken:

könnt ihr mir vielleicht beschreiben, wie ich es dem user als plain text wieder zusenden kann

Du könntest passende Rainbowtables vorhalten und daraus direkt das Paßwort ablesen, wenn Du den hash hast. face-smile

Oder Du generierst einfach ein neues Paßwort für den User und schickst es ihm zu und zwingst ihn, beim ersten Anmelden das Paßwort zu ändern.


mal alle sicherheitsbedenken aussen vor gelassen

Das macht man nicht! Niemals! Unter keinen Umständen!1eins!11!elf!

lks
Member: maretz
maretz May 14, 2019 at 17:55:10 (UTC)
Goto Top
Ok, lassen wir mal die Sicherheitsbedenken aussen vor... Gehen wir mal davon aus das es ein rein interner Server ist der auch wirklich NIEMALS ans Internet kommt. Stell dir vor ich nehme also bei dir mein Standard-Passwort "Passwort". Steht bei dir im Plain-Text in der Datenbank. Leider werden jetzt sämtliche Accounts von mir geknackt kurz nachdem ich (im Streit) die Firma verlassen hab. Jetzt wärst du aber mal sowas von im Ar... wenn ich weiss das du es auslesen kannst - da ich natürlich jetzt das ganze als Beleg anführe das du / die Firma mir noch einen auswischen wollte...

Von daher: Sch.. auf Sicherheitsbedenken -> denk nur mal an deine EIGENE Sicherheit... Und wofür? Schicke bei einem Passwort-Wechsel halt nen Einmal-Passwort zu (wenn du wirklich sicher bist das der Server nur intern ist und nie geknackt werden kann). Da das an die hinterlegte Mail-Adresse geht kann der Benutzer das abrufen und sich dann anmelden. Ich würde jedoch (da dein Mailserver jetzt Kenntnis über das Passwort hat) auch gleich eine "must change"-funktion einbauen. Wenn das Einmal-Passwort gesetzt wurde MUSS nach dem Login das Passwort geändert werden...
Member: jensgebken
jensgebken May 14, 2019 updated at 20:09:05 (UTC)
Goto Top
Wie würdest du es denn umsetzen - Ich müsste jetzt doch eine Seite bauen, Passwort zurücksetzen – ein Textfeld wo ich die E-Mail-Adresse eintragen dies betrifft bloß wie dann weiter?
Member: Lochkartenstanzer
Lochkartenstanzer May 14, 2019 at 20:23:35 (UTC)
Goto Top
Zitat von @jensgebken:

Wie würdest du es denn umsetzen - Ich müsste jetzt doch eine Seite bauen, Passwort zurücksetzen – ein Textfeld wo ich die E-Mail-Adresse eintragen dies betrifft bloß wie dann weiter?

  • User beim Support, also bei Dir anrufen lassen
  • gemeinsam ein Paßwort festlegen.
  • Du setzt diese Paßwort für den User.
  • User loggt sich ein und ändert Paßwort.

Du mußt nur sicherstellen, daß der User der echte User ist und kein Hacker mit social skills.

lks
Member: maretz
maretz May 15, 2019 at 04:54:55 (UTC)
Goto Top
Moin,

uff - wenn ich das so lese -> sorry wenn ich dir das so hart sage, in deinem Fall GAR NICHT! Da fehlt glaub ich jedes Verständnis auch nur für ein minimum an Datenschutz. Ich bin ja auch nen Freund davon das es manchmal eben funktionieren muss, den Standard der dazu passt kann ich dann später finden. Aber hier wirds langsam schon gefährlich (danke das du nicht mit Strom arbeitest... 2 10kV-Leitungen kann man auch mal un-isoliert übern Boden legen... im öffentlichen Raum... mit Fussgängern....)

Überlege bitte kurz selbst: Wenn ich meine Email-Adresse selbst eingebe - wie weisst du dann das ich wirklich der Besitzer des Accounts "Admin" bin? Wie machen es denn andere Seiten - wie z.B. auch bei Administrator.de? Wenn du da auf "Passwort vergessen" klickst - kannst du da ne Mail-Adresse fürs Zusenden angeben? Vermutlich nicht...

Üblicherweise registriert man sich mit ner Email-Adresse bereits. Und NUR dahin wird das Passwort bzw. der Link fürs Passwort zurücksetzen geschickt. Fertig -> Wenn ein Benutzer es jetzt wirklich geschafft hat sein Passwort zu vergessen UND auch keinen Zugriff mehr auf die Emails hat dann hilft eben nur noch nen persönlicher Kontakt (Email an den Admin, Anruf,...)
Member: Th0mKa
Th0mKa May 15, 2019 at 05:31:01 (UTC)
Goto Top
Zitat von @maretz:

Wie machen es denn andere Seiten - wie z.B. auch bei Administrator.de? Wenn du da auf "Passwort vergessen" klickst - kannst du da ne Mail-Adresse fürs Zusenden angeben? Vermutlich nicht...

Vermutlich schon, es wird halt ne Mail gesendet mit der man das Passwort des assoziierten Accounts (und nur den) ändern kann. Gibt es reichlich Beispiele im Netz...

/Thomas
Member: maretz
maretz May 15, 2019 at 05:36:10 (UTC)
Goto Top
Das eine Mail gesendet wird ist keine Frage... nur: Ich kann bei dem Punkt üblicherweise keine Email-Adresse mehr angeben sondern NUR die hinterlegte wird verwendet... DAS ist eben der Unterschied. Denn sonst würde ich ja einfach z.B. hier bei Administrator.de sagen können: Passwort vergessen, Account Th0mKa -> und schicke das Passwort / die Reset-Möglichkeit bitte an meine Email-Adresse maretz@wirfmichweg.de ... Schon habe ich deinen Account "gehackt" -> würde mir dann doch etwas sorgen machen.