Ich habe ein System bestehend aus einer PHP API mit Codeigniter und REST_Controller.Codeigniter - Formular zum Zurücksetzen des Passworts
Wenn ein Benutzer das Zurücksetzen seines Kennworts anfordert, generiert das System eine Zufallszahl und bettet sie in einen URI ein, der per E-Mail an den Benutzer gesendet wird.
Wenn der Benutzer darauf klickt, ruft er eine Funktion in REST_Controller/Codeigniter auf, die die eingebettete Zahl liest und feststellt, ob sie gültig ist. Wenn ja, erhält der Benutzer eine Website mit einem Formular, um das Passwort zu ändern.
Jetzt für die Hauptfrage. Wenn der Benutzer auf die Schaltfläche Senden klickt, um das neue Kennwort zu senden, muss die Clientseite eine andere Funktion in REST_Controller/Codeigniter aufrufen? Wenn ja, wie kann ich authentifizieren, dass die Submit-Anfrage mit Daten vom Benutzer stammt und keine zufällige Anfrage aus dem Internet?
Was fehlt mir hier?
Durch die Verwendung der Sitzung, weil Benutzer zurückgesetzt werden müssen Login sein. –
Hatten jemals Honeypots Felder? –
ich denke, dass Sie die generierte "Zufallszahl" validieren müssen, um zu überprüfen, dass es die gleiche ist, die Sie generiert und in E-Mail gesendet haben –