Hallo,
bin ganz neu hier! - habe mich schon etwas eingelesen und mich gleich an ein Registrationsscript rangewackt, was Anfangs nicht sehr schwer fiel.
Hab zu mienem Script ein paar fragen!
und zwar:
- wie kann ich überprüfen ob auch eine "richtige Email" adresse eingebene worden ist, also wenigstens überprüfen ob da zum Beispiel "@web.de, @google.de, @IRGENDWAS.de, @wasweißich.com" steht?
- um mysql infections zu vermeiden und damit gefährliche Sonderzeichen entfernt werden, habe ich mysqli_real_escape_string und trim verwendet! Sollte man da auf noch etwas achten? Macht es etwas aus, wenn man die Variablen bei bestehender Datenbank verbindung einliest, oder ist das Relativ?
- was sollte ich noch beachten!!! Ist meine "Mailsystem" relativ sicher? und sollte ich lieber Captcha oder einfach Sicherheitsabfragen oder Rechnungen verwenden?
Hier der Code:
Vielen Dank im Vorraus!
bin ganz neu hier! - habe mich schon etwas eingelesen und mich gleich an ein Registrationsscript rangewackt, was Anfangs nicht sehr schwer fiel.
Hab zu mienem Script ein paar fragen!
und zwar:
- wie kann ich überprüfen ob auch eine "richtige Email" adresse eingebene worden ist, also wenigstens überprüfen ob da zum Beispiel "@web.de, @google.de, @IRGENDWAS.de, @wasweißich.com" steht?
- um mysql infections zu vermeiden und damit gefährliche Sonderzeichen entfernt werden, habe ich mysqli_real_escape_string und trim verwendet! Sollte man da auf noch etwas achten? Macht es etwas aus, wenn man die Variablen bei bestehender Datenbank verbindung einliest, oder ist das Relativ?
- was sollte ich noch beachten!!! Ist meine "Mailsystem" relativ sicher? und sollte ich lieber Captcha oder einfach Sicherheitsabfragen oder Rechnungen verwenden?
Hier der Code:
PHP-Code:
<?php
echo "<form action=\"registration.php\" method=\"post\">";
echo "<center><font class=\"reg_u\">Registrieren</font></center><br />";
echo "<table width=\"300\" border=\"0\">";
echo "<tr>";
echo "<td width=\"134\" ><font class=\"reg_in\">Nutzername:</font><font class=\"input_red\">*</font></td>";
echo "<td width=\"156\" ><input type=\"text\" name=\"nutzername\" /></td>";
echo "</tr>";
echo "<tr>";
echo "<td><font class=\"reg_in\">Passwort:</font><font class=\"input_red\">*</font></td>";
echo "<td><input type=\"password\" name=\"passwort\" /></td>";
echo "</tr>";
echo "<tr>";
echo "<td><font class=\"reg_in\">Email:</font><font class=\"input_red\">*</font></td>";
echo "<td><input type=\"text\" name=\"email\" /></td>";
echo "</tr>";
echo "<tr>";
echo "<td><font class=\"reg_in\">Vorname:</font><font class=\"input_red\">*</font></td>";
echo "<td><input type=\"text\" name=\"vorname\" /></td>";
echo "</tr>";
echo "<tr>";
echo "<td><font class=\"reg_in\">Nachname:</font><font class=\"input_red\">*</font></td>";
echo "<td><input type=\"text\" name=\"nachname\" /></td>";
echo "</tr>";
echo "</table>";
echo "<font class=\"input_redbottom\">* Pflichtfelder</font> <br />";
echo "<span>Spamschutz: 4+5 = <input size=\"5\" type=\"text\" name=\"spam\" /></span><br />";
echo "<input type=\"checkbox\" checked=\"checked\" name=\"einverstanden\" value=\"checked\" />";
echo "<font class=\"input_chkd\">Ich bin damit einverstanden, dass meine angegebenen Daten zur Registration Übermittelt werden.</font> <br /> <br />";
echo "<input type=\"submit\" value=\"registrieren\" name=\"submit\" />";
echo "</form>";
# Database connection settings #
$db_host = 'localhost'; // database hoster
$db_bnutzer = 'root'; // database user
$db_password = ''; // database password
$db_name = 'reg'; // database name
# E-mail function on or off #
$mailnachricht = 'on'; // email function 'on' or 'off'
$mailreceiver = 'example@email.de'; // email receiver
# _________________________________________________________________________________ #
$db = mysqli_connect($db_host, $db_bnutzer, $db_password, $db_name)
or die ('can\'t connect to database ');
# varbs def + secure #
$nutzername = mysqli_real_escape_string($db, trim($_POST['nutzername']));
$passwort = mysqli_real_escape_string($db, trim($_POST['passwort']));
$email = mysqli_real_escape_string($db, trim($_POST['email']));
$vorname = mysqli_real_escape_string($db, trim($_POST['vorname']));
$nachname = mysqli_real_escape_string($db, trim($_POST['nachname']));
if (isset($_POST['submit']) && $_POST['submit'] == 'registrieren'){
if ($_POST['einverstanden'] == 'checked' && $_POST['spam'] == '9'){
if (empty($nutzername) && empty($passwort) && empty($email) && empty($vorname) && empty($nachname)){
echo "<font style=\"color:red;\">Bitte Vollständig ausfühlen!</font>";
}
else {
$sql = "INSERT INTO user (nutzername, password, email, vorname, nachname)".
"VALUES ('$nutzername', '$passwort', '$email', '$vorname', '$nachname')";
$ergebnis = mysqli_query($db, $sql)
or die ('Error - remmi demmi');
mysqli_close($db);
if ($ergebnis){
if ($mailnachricht == 'on'){
$betreff = "Neuer Benutzer";
$inhalt = 'Es hat sich ein neuer Benutzer Registriert. Sein name ist '. $vorname. ' '. $nachname. ' und sein Nickname lautet '.
$nutzername. ' Das Passwort lautet: '. $passwort. ' Die Daten, wurden Erfolgreich in der Datenbank gespeichert. Have a nice day';
mail("$mailreceiver", "$betreff", "$inhalt");
}
}
}
}
else {
echo "<font style=\"color:red;\">Bitte setzen sie das Häckchen =)</font>";
}
}
?>
Vielen Dank im Vorraus!
Kommentar