Ich habe eine Internetseite. Auf dieser müssen sich bestehende Kunden identifizieren. D.h. ich habe schon Name, Adresse Email usw. diese müssen nur eben von den richtigen Leuten verifiziert werden.
Soweit der Plan.
Nun habe ich folgenden Ablauf
1. Der Kunde füllt ein Formular mit Kundennummer. Name, Adresse, Telefon und Email Adresse aus und schickt es zu mir.
2. Ich überprüfe die Angaben und sende dem Kunden ein Passwort zu.
3. Der Kunde muss beim 1. Login das Passwort ändern und das neue Passwort wird in der Datenbank eingetragen.
Nun zu den einzelnen Skripten:
Zugangsdaten anfordern:
Die Aktivierung:
Soweit der Plan.
Nun habe ich folgenden Ablauf
1. Der Kunde füllt ein Formular mit Kundennummer. Name, Adresse, Telefon und Email Adresse aus und schickt es zu mir.
2. Ich überprüfe die Angaben und sende dem Kunden ein Passwort zu.
3. Der Kunde muss beim 1. Login das Passwort ändern und das neue Passwort wird in der Datenbank eingetragen.
Nun zu den einzelnen Skripten:
Zugangsdaten anfordern:
PHP-Code:
<?
include_once $_SERVER['DOCUMENT_ROOT'] . '/securimage/securimage.php';
$securimage = new Securimage();
?>
<text class="span">Zugangsdaten anfordern</text><br />
<? if(!isset($_SESSION["zugang1"])) { ?>
Sie hätten also gerne Zugang zu ihren Daten. - Kein Problem. Als erstes müssen wir ihre Identität klären. Dazu benötigen wir einige Daten von ihnen. Ich überprüfe ihre Daten und senden ihnen ein Einmlapasswort per Email zu.
<br /><br />
<text class="span">Persönliche Daten</text><br />
<script type="text/javascript">
function validate_num(formdata) {
formdata.value=formdata.value.replace(/\D/, '' );
}
function validate_num1(formdata) {
formdata.value=formdata.value.replace(/\D/, '' );
}
</script>
<center><u>Alle * Felder müssen Aus</u>g<u>efüllt werden</u></center>
<form action="" method="POST">
<table width="100%" cellspacing="10"><tr>
<td width="150px" align="right">Ihr Nachname: *</td>
<td><input id="inputs2" type="text" name="nachname" style="width:300px" required /></td><tr>
<td width="150px" align="right">Ihr Vorname: *</td>
<td><input id="inputs2" type="text" name="vorname" style="width:300px" required /></td><tr>
<td width="150px" align="right">Strasse / HsNr: *</td>
<td><input id="inputs2" type="text" name="strasse" style="width:247px" required /><input id="inputs2" type="text" name="hsnr" style="width:50px" required /></td><tr>
<td width="150px" align="right">PLZ / Wohnort: *</td>
<td><input id="inputs2" type="text" name="plz" onkeyup="validate_num(this);" style="width:60px" required /><input id="inputs2" type="text" name="ort" style="width:237px" required /></td><tr>
<td width="150px" align="right">Telefon Festnetz: (optional)</td>
<td><input id="inputs2" type="text" name="telefon_vorwahl" style="width:80px" placeholder="Vorwahl" /> <input id="inputs2" type="text" name="telefon2" style="width:120px" placeholder="Nummer" /></td><tr>
<td width="150px" align="right">Email Adresse: *</td>
<td><input id="inputs2" type="email" name="email" style="width:250px" placeholder="Ihre Email-Adresse" required /></td><tr>
<td width="150px" align="right">Ihre Kundenummer: *</td>
<td valign="top"><input id="inputs2" type="text" onkeyup="validate_num1(this);" pattern="[0-9]{1}" name="kundenummer" min="100" style="width:60px" required /> <br />(Auf Rechnungen oder Angeboten / 3-stellig)</td><tr>
<td width="150px" align="right">Captcha: *</td>
<td valign="top" align="left"><img id="captcha" src="/securimage/securimage_show.php" alt="CAPTCHA Image" /><br />
<input type="text" name="captcha_code" size="10" maxlength="6" />
<a href="#" onclick="document.getElementById('captcha').src = '/securimage/securimage_show.php?' + Math.random(); return false">[ Bild neu laden ]</a></td><tr>
</table>
<br />
<center><input type="submit" name="verify" value="Absenden" style="padding:10px;" /></center>
<? } else { echo "<center>Sie haben bereits einmal einen Zugangsversuch gestartet !<br /><br /></center>"; exit; }
?></form><?
if(isset($_POST["verify"])) {
if ($securimage->check($_POST['captcha_code']) == false) {
echo "<br /><br /><center><span style='padding:10; border:1px solid red;'>Der eingegebene Captcha-Code ist nicht korrekt. Bitte versuchen Sie es erneut.</span></center>";
exit;
}
$kdnr = filter_var($_POST["kundenummer"], FILTER_VALIDATE_INT);
$nachname = filter_var($_POST["nachname"], FILTER_SANITIZE_STRING);
$vorname = filter_var($_POST["vorname"], FILTER_SANITIZE_STRING);
$strasse = filter_var($_POST["strasse"], FILTER_SANITIZE_STRING);
$hsnr = filter_var($_POST["hsnr"], FILTER_SANITIZE_STRING);
$plz = filter_var($_POST["plz"], FILTER_VALIDATE_INT);
$ort = filter_var($_POST["ort"], FILTER_SANITIZE_STRING);
$telefon1 = strip_tags($_POST["telefon_vorwahl"]);
$telefon2 = strip_tags($_POST["telefon2"]);
$email = filter_var($_POST["email"], FILTER_VALIDATE_EMAIL);
$random = RandomToken();
$empfaenger = "info@zwpc.de";
$absender = "Computerservice Blasius Thomas <info@zwpc.de>";
$betreff = utf8_decode("Bestätigungslink Kundenlogin");
$antwortan = "info@zwpc.de";
$header = "MIME-Version: 1.0\r\n";
$header .= "Content-type: text/html; charset=iso-8859-1\r\n";
$header .= "From: $absender\r\n";
$header .= "Reply-To: $antwortan\r\n";
$header .= "X-Mailer: PHP ". phpversion();
$mailtext = utf8_decode('<html>
<head>
<title>Bestätigungslink für '.$nachname.' '.$vorname.'</title>
</head>
<style txpe="text/css">
body{ background:#454545; color:#fff; font-family:Arial, Helvetica, sans-serif;}
a { text-decoration:none; color:#7079F7; }
</style>
<body>
Ein Kunde hat Zugang zum Kundencenter beantragt !
<br />
Zugangsanforderung von:<hr>
KDNR: '.$kdnr.'<br />
Name: '.$nachname.' '.$vorname.'<br />
Strasse: '.$strasse.' '.$hsnr.'<br />
Ort: '.$plz.' '.$ort.'<br />
Telefon: '.$telefon1.' / '.$telefon2.'<br />
Email: '.$email.'<br />
<br /><hr>
<a href="http://www.zwpc.de/aktivierung.php?email='.$email.'&vorname='.$vorname.'&nachname='.$nachname.'&kdnr='.$kdnr.'"> -= Account bestätigen =-</a>
</body>
</html>
');
mail( $empfaenger,
$betreff,
$mailtext,
$header);
$_SESSION["zugang1"] = "Ja";
?>
<script language="javascript">alert('Wir haben ihre Daten erhalten und werden ihr Anliegen umgehend bearbeiten');</script>
<meta http-equiv="refresh" content="0; URL=/startseite">
<?
}
?>
PHP-Code:
<?
error_reporting(-1);
ini_set('display_errors', true);
include 'db/conn.php';
function zufallsstring($laenge) {
$zeichen = '0123456789';
$zeichen .= 'abcdefghijklmnopqrstuvwxyz';
$zeichen .= 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
$zeichen .= '()!.:=';
$str = '';
$anz = strlen($zeichen);
for ($i=0; $i<$laenge; $i++) {
$str .= $zeichen[rand(0,$anz-1)];
}
return $str;
}
$kdnr = filter_input(INPUT_GET, 'kdnr', FILTER_VALIDATE_INT);
$email = filter_input(INPUT_GET, 'email', FILTER_VALIDATE_EMAIL);
$vorname = filter_input(INPUT_GET, 'vorname', FILTER_SANITIZE_SPECIAL_CHARS);
$nachname = filter_input(INPUT_GET, 'nachname', FILTER_SANITIZE_SPECIAL_CHARS);
$passwort1 = zufallsstring(8);
$passwort2 = password_hash($passwort1, PASSWORD_DEFAULT);
$mysqli->query("UPDATE kunden SET passwort = '$passwort2' WHERE kdnr = '$kdnr'");
$empfaenger = $email;
$absender = "info@xxx.de";
$betreff = utf8_decode("Bestätigungslink Kundenlogin");
$antwortan = "info@zwpc.de";
$header = "MIME-Version: 1.0\r\n";
$header .= "Content-type: text/html; charset=iso-8859-1\r\n";
$header .= "From: $absender\r\n";
$header .= "Reply-To: $antwortan\r\n";
$header .= "X-Mailer: PHP ". phpversion();
$mailtext = utf8_decode('<html>
<head>
<title>Bestätigungslink für '.$nachname.' '.$vorname.'</title>
</head>
<style txpe="text/css">
body{ background:#454545; color:#fff; font-family:Arial, Helvetica, sans-serif;}
a { text-decoration:none; color:#7079F7; }
</style>
<body>
<hr>
Hallo '.$nachname.' '.$vorname.',<br />
<br />
Ich habe ihre Daten geprüft und ihren Zugang zum Kundencenter freigeschaltet.<br /><br />Ihr Einmalpasswort lautet: <b>'.$passwort1.'</b><br />
<br />Dieses Passwort ist Einmalig und nur zum ersten Login gültig. Sie werden beim ersten Zugang ins Kundencenter zum Wechseln ihres Passworts aufgefordert. Bitte merken Sie sich dieses Passwort gut oder Notieren Sie es sich. Ich kann ihr Passwort weder sehen noch bei Verlust wiederherstellen !<hr>
<br /><br />Loggen Sie sich nun hier ein: <a href="http://www.xxx.de"> -= Zur Webseite =-</a>
<br /><br />Mit freundlichen Grüssen<br />
</body>
</html>
');
mail( $empfaenger,
$betreff,
$mailtext,
$header);
echo "<h2>Zugang bestätigt !</h2>";
?>
Kommentar