Hi Ansgar,
wurde das neue Passwort denn schon aktiviert? (Also können die User sich mit dem neuen Passwort aus der Mail einloggen nach dem Reset?) Haben die User vielleicht neugierige E-Mail-Programme, wo ein "tolles KI-Tool“ oder ein tolles "Link mal vorprüfen und einen schönen Screenshot davon generieren"-Feature den Link schon beim Lesen der Mail auslöst und deshalb die Aktion bereits ausgeführt wurde? Es gab da mal solche Dinge hier und da, die furchtbar unsicher sind per se und glücklicherweise langsam wieder aus der Mode kommen. Manchmal hat sogar ne installierte Sicherheitssoftware so ein Phänomen ausgelöst, weil irgend ein "Phishing Schutz" erstmal knackhart auf alle Links geklickt hat und die IPs der User damit eher exposed hat, als wenn sie nicht installiert gewesen wäre. Super Sache das ... (not).
Manchmal sind es die User auch selbst, wenn sie zum Beispiel auf dem Smartphone einen "Force Touch" auslösen (bzw. Link länger drücken), die Vorschau gerade aufploppen will und den Link entsprechend öffnet, die User danach aber erst tippen und sich der Link dann erst im Browser (wieder) öffnet, aber durch die Vorschau ja im Grunde schon aufgerufen wurde. Die Seite wurde ja dann in der Vorschau schon angerufen, auch wenn der Nutzer das vielleicht nur kurz hat aufploppen sehen, aber der HTTP(s) request an den Server ist damit ja schon durch.
Für (gerade eingeloggte) Bereiche des Forums verhindert CFProtect mit dem zusätzlich intern generierten Rollcode ja solche Dinge, aber beim Passwort Reset ist der (ausgeloggte) Link ja die zweite Bestätigung, sonst müsste der User da nochmal selbst irgendwas zusätzlich eingeben (Captcha, Zahlencode, was auch immer - wie beispielsweise bei der neuen 2FA Registrierungsfunktion seit der v4.13). Das würde ein Reset ja nochmal verwirrender machen und das über einen langen Link-Schlüssel zu machen sorgt dafür, dass man in einer Vorschau-Meldung (z.B. auf dem Smartphone) keinen Zahlencode sehen kann als unbefugter, sorgt aber dann wieder dafür, dass alles was vorher auf den Link klickt (auf Userseite), diesen mitunter schon aktiviert. Da so etwas bei suboptimalen Mail-Clients aber maximal dann passiert, wenn der User die Mail ohnehin geöffnet hat, und solche glücklicherweise eine Rarität darstellen, ist die aktuelle Implementierung vermutlich der beste Kompromiss für dieses Feature.
Einen anderen Einfall hätte ich da nicht, wenn der Link korrekt aufgerufen wird, mit dem vollständigen Schlüssel daran, und so etwas ja nur sporadisch bei wenigen Usern auftritt. Die Funktion selbst ist ja recht isoliert von allem anderen, was man so ändern könnte. Hab auch gerade kürzlich ein Forum von einer anderen Software zu CF4 konvertiert für einen Kunden, wo die Leute (wegen der Verschlüsselung) sich ein neues Passwort zusenden müssen und in der Umgebung (PHP 8.3) keinerlei solche Rückmeldungen erhalten, dass die Funktion nicht mehr tut. Datenbank als Problem schließe ich auch aus, der temporäre Schlüssel wird nur in der Usertabelle abgelegt, beim Aktivieren überprüft, und dann dort wieder geleert. Also wenn die User-DB kaputt wäre, dann hätte das Forum definitiv noch viele andere Probleme. Da sollte also alles passen.
Denke also eher Userproblem als Forenproblem, insbesondere, wenn es nur bei manchen passiert.
Viele Grüße,
Chris