Hallo Dirk,
Am 2011-07-04 11:01, schrieb dirk_stud...@web.de:
Hallo Andreas,
danke für deine Antwort!
Hmm. Ich dachte mir eher, dass ich den Code abspeichere (neben der ID des
Datensatzes). Wenn der Benutzer dann auf den gesendeten Link klickt hätte ich
eine Seite (inkl. eigener Logik) die in der DB sucht, bei welchem Eintrag der
AuthCode vorhanden ist und dann diese Daten läd.
Meiner Meinung nach ist es recht witzlos ansonsten überhaupt den AuthCode zu
erstellen, wenn einfach nur die User-ID sha1 oder md5 umgewandelt wird (und
selbst wenn es eine eigene Verschlüsselung ist, wenn jedem die Verschlüsselung
durch Download der Extension frei zugänglich wird kann auch jeder falsche
Email-Adressen angeben und per Skript dann die IDs von z.B. 1 - 1.000.000.000
auf die Seite abfeuern und so seinen Account freischalten (und alle anderen
noch nicht freigeschalteten zwischen 1 und 1.000.000.000 auch).
Da muss ich schon sagen fände ich eine Zufallszahl die als AuthCode generiert
und in der DB gespeichert wird sinnvoller.
Vielleicht gibt es ja aber auch noch andere Ideen oder ich habe etwas falsch
verstanden (-> irgendwelche Angaben des Benutzers (die UID aus der DB?!)
werden verwendet um den AuthCode zu erzeugen?!).
Danke und Grüße,
Dirk
-----Ursprüngliche Nachricht-----
Von: "Andreas Kiessling"<kiessl...@pluspol.info>
Gesendet: 04.07.2011 08:43:05
An: typo3-german@lists.typo3.org
Betreff: Re: [TYPO3-german] Formhandler: Hash/Zufallswert erstellen
Hi,
Ok, es erscheint unlogisch, warum ich GenerateAuthCode NACH dem Finisher_DB
aufrufe, aber laut Doku muss man das ja, wenn man den Code per Email versenden
möchte (nach Finisher_DB und vor dem Email-Versand). Das geht halt lokal auf
meiner VMWare nicht, weshalb ich auch nicht schauen kann, ob er denn überhaupt
erzeugt wird.
GenerateAuthCode auch schon als 1 { ... } vor den Finisher_DB gestellt.
Wo kriegst du die uid des Datensatzes her, wenn du ihn nicht vorher
gespeichert hast?
Wozu willst du den authCode speichern? Der Link in deiner Mail muss ja
die uid UND den Code enthalten -> beim Aufruf der Seite erzeugst du den
Code neu über die übermittelte uid und vergleichst ihn mit dem authCode
aus dem Link.
HTH,
Andreas
_______________________________________________
TYPO3-german mailing list
TYPO3-german@lists.typo3.org
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
Der Code generiert sich aus dem gesamten Eintrag in der Datenbank.
Also zuerst werden die Daten in die DB geschrieben, dann der
Finisher_GenerateAuthCode aufgerufen. Der selektiert sich die Daten,
serialisiert sie und erzeugt einen md5-Hash.
Diesen kannst du als Parameter eines Auth-Links verwenden und zusätzlich
noch die UID des Eintrags übergeben.
Zur Validierung selektierst du den Eintrag aus der DB und vergleichst
die beiden Hashes.
Hier gibts z.B. einen Versuch, den Hash mit einem PreProcessor zu
validieren. Die Klasse wurde aber noch nicht in den Formhandler integriert:
http://forge.typo3.org/attachments/17519/13978_v2.patch
Wenn du einen anderen Weg bevorzugst, könntest du einfach den
Finisher_GenerateAuthCode erweitern und die Methode zum Generieren des
Codes überschreiben.
Viele Grüße,
Reinhard
_______________________________________________
TYPO3-german mailing list
TYPO3-german@lists.typo3.org
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german