Immer wieder taucht der Begriff Double-Opt-In-Verfahren im Zusammenhang mit Newsletter auf, die wenigsten können aber damit etwas anfangen. Deshalb möchte ich an dieser Stelle darauf mal eingehen.
Ein Problem bei Anmeldungen ist, dass man beliebige Daten, fehlerhafte Daten oder Daten dritter benutzen kann. User bekommen E-Mails mit Newsletter, obwohl sie sich gar nicht angemeldet haben. Sehr viele Websites bieten derzeit Newsletter an, aber nur die wenigsten prüfen ob der Empfänger auch wirklich stimmt.
Was ist überhaupt das Double-Opt-In-Verfahren
Nach der Anmeldung bekommt der User eine Bestätigung per E-Mail. In dieser E-Mail stehen weitere Informationen (z.B. Gültigkeit der Anmeldung, Einwilligung, Impressum etc...) und zusätzlich ein Link wo man seine Anmeldung erst bestätigen muss. Dieser Link ist meist mit einen Zugangs-Code ausgestattet der einmalig sein sollte. Erst wenn der User diesen zusätzlichen Link anklickt bzw. den Verweis zu einer URL folgt, ist die Anmeldung gültig.
In Deutschland besteht übrigens dazu keine Pflicht! Das Double-Opt-In-Verfahren ist eine Empfehlung, aber ist gesetzlich zulässig. Leider sind manche Gerichtsurteile noch etwas unklar was dieses Verfahren betrifft. Einige Gerichte halten diese Verfahren nicht für wettbewerbswidrig, andere stufen diese als unerwünschte E-Mail ein.
technische Umsetzung in PHP
Newsletter basieren auf Datenbanken. Jede Anmeldung wird vorerst in der DB gespeichert, zusätzlich wird dazu ein Code erzeugt. Hash, MD5 oder eigene Code-Funktionen sollten da schon reichen.
Beispiel:
<?php
/*
- die Anzahl der Stellen ist einstellbar
- wird $md auf TRUE gesetzt, wird das ganze noch als MD5 ausgegeben
*/
function GetPW( $anz = 5 , $md = 0 ) {
$cc = 0;
$temp = array_merge( range(1,9), range('a','z') );
srand ( (float)microtime() * 1000000);
shuffle ( $temp );
$out = '';
foreach ( $temp as $v ) {
if ($cc++ >= $anz) break;
$out .= $v;
}
if ($md === true) return MD5($out); else return $out;
}
?>