Sicherheitsbedenken: Email mit Link zum Bestaetigen

exitboy

Erfahrenes Mitglied
Hallo,

ich habe ein Tool entwickelt wo User sich per Email freischalten lassen sollen, dass sie einen Newsletter erhalten moechten.
Theoretisch ist mir klar, wie ich das ganze realisieren kann. Ich habe einen Link in der Email, den ich mir bis dato wie folgt vorstelle:

Definition der folgenden URL:
id = Nutzerkennung,
email = Freischaltungswert

Code:
http://www.meineseite.de/script.php?id=12345&email=1

Meine Bedenken liegen hierbei in der Sicherheit. Per SQL Injection ist hier schnell mal was gecoded.
  • Was habt Ihr da fuer Erfahrungen und Ratschlaege, die Ihr mir mit auf den Weg geben koennt um mein System abzusichern.
    Dachte spontan an eine md5 Verschluesselung, der Parameter die uebermittelt werden, die ich dann im php Code der aufgerufen wird, wieder entschluessel.

  • Vor allem ist mir auch wichtig, dass keiner die id modifiziert, dass dadurch jemand anderes die Emails bekommt, der gar keine erhalten soll

G+THX
 
Hi,

schreibe in eine Datenbank die Nutzerkennung (, ein Feld ob schon aktiviert oder nicht) und eine zufällig generierte Zeichenkette, die anstell der "1" als aktivierung gilt, diese Zeichekette sollte vorher und nachher durch die Funktion mysql_real_escaping_string gejagt werden, die ID kannst du mit der Funktion ctype_digit überprüfen, ob sie nur aus Zahlen besteht.

Anstelle der ID kannst du ja direkt die E-Mail Adresse benutzen.

So, bzw. so ähnlich hab ich das gelöst.

gv nepda
 
Wie mein Vorredner schon sagte - die Strings escapen.

Und nur zur Info - md5 ist kein Verschlüsselungsverfahren, es ist somit also auch nicht möglich hier irgendetwas wieder zu entschlüsseln.
 
In der DB/Tabelle gibt es bestimmt auch die eMail Adresse (im Klartext) an die der Newsletter verschickt werden soll.

Wenn Du jetzt als zusätzlichen Parameter an die URL noch den SHA1 oder MD5 Wert der entsprechenden eMail Adresse und den SHA1 oder MD5 Wert der ID dranhängst und das dann mit dem Eintrag in der DB vergleichst dürfte es keine Verwechslung geben.

Denn nur wenn ID und eMail Adresse übereinstimmen, wird der Newsletter wirklich verschickt.

Gruß Thomas
 
@nepada besten Dank,
werde das mal so versuchen
@shutdown md5hashValue meinte ich.
@tombe also thx
 
Zuletzt bearbeitet:
Zurück