Mailinglisten-Archive |
Aloha, > ---------- > Von: Michael Raab[SMTP:mraab_(at)_macbyte-computing.de] > > Wenn sich Besucher dazu entscheiden einen Newsletter zu abonieren, wird > zunächst eine Mail, an die angegebene Adresse geschickt. In der Mail ist > ein Link, den der Abonent erst beim anklicken in die Mailliste einträgt. > Der sieht dann so aus > http://www.domain.de/shared/subscribe.php?mail=nowhere_(at)_nowhere.net. Nun > können einige Blöde die Mailliste wieder verderben indem sie einfach eine > andere Mailadresse dort angeben können. Mein Gedanke ist nun der. Die > Mailadresse des Interessierten wird verschlüsselt und mit einer Prüfsumme > abgesichert. Klickt der Interessent jetzt auf den Link, so wird die > Mailadresse entschlüsselt und wenn Ok erst dann in die Mailliste > eingetragen. Somit ist ein Mißbrauch nicht mehr möglich. > Naja, wenn der "Feind" die Prüfsummenberechnung weis, dann schon. (z.B. kann man md5() verwenden). Es geht aber auch anderst, und nicht nur in deinem Fall. Ich Speichere die eingegeben Daten in einer temporären Tabelle in einer DB mit einem Timestamp. Per Zufallsgenerator wird ~ alle 100 Seitenaufrufe eine Funktion ausgeführt, die alle Einträge löscht, die älter als Zeit X sind. Somit wird diese temp. Tabelle auch regelmäßig bereinigt. Für jeden Eintrag in diese Tabelle wird ein 32byte langer Zufallsstring erzeugt, der auch in diese Tabelle gespeichert wird, mit den anderen Daten. Bei dir würde die Temporäre Tabelle folgende Felder haben: id Zufallszahl, 32 Zeichen email varchar 255 timestamp Die erzeugte Zufallszahl mailst du jetzt als Link an den, der sich in die Mailingliste eintragen will. Z.b. > http://www.domain.de/shared/subscribe.php?id=13asdf4h134h123asdfasdf08670a > s > Wenn der User auf den Link klickt, dann machst du in subscribe.php folgendes: - ist die Zufallszahl in der temp. Tabelle ? Ja: weiter, Nein: User auslachen - Daten aus der temporären Tabelle in die richtige Tabelle übernehmen - Daten aus der temporären Tabelle löschen. Das ganze Verfahren kann man auf fast beliebigie Anwendungsgebiete übertragen. Ich habe gerade was programmiert (in PERL), um allen aktiven Mitarbeitern (die kommen aus SAP) ein Email mit einem Link und einer solchen Zufallszahl (512-stellig ;-)) zu senden. Die Zufallszahl wird in einer DB abgespeichert. Damit können wir unsere innerbetrieblichen Umfragen zur Zufriedenheit usw. be- quem per Intranet machen, und die Abstimmungen sind garantiert anonym UND jeder kann garantiert nur einmal abstimmen. Damit ist sogar unser Betriebsrat zu- frieden :-))) Viele Grüße, Mathias
php::bar PHP Wiki - Listenarchive