Hi Leutz,
war mir nicht sicher ob PHP oder mySQL Forum,
da das Thema SQL ist und die Lösung, denke ich
mal, PHP ist....
Ich habe hier einen Login Script und Ich frage
mich gerade, was man zum Thema Sicherheit
noch dran verändern kann....
Und vor allem (Headline) was ist mit dem Thema
der SQL Injection?
Meine bisherigen Annahmen:
- Name als Email (weil man per Emailcheck sicherstellt das es eine Email ist)
- MD5 Passwort (alle Eingaben werden vor dem DB Kontakt verschlüsselt)
Das war es aber schon...
Hier der bisherige Script:
war mir nicht sicher ob PHP oder mySQL Forum,
da das Thema SQL ist und die Lösung, denke ich
mal, PHP ist....
Ich habe hier einen Login Script und Ich frage
mich gerade, was man zum Thema Sicherheit
noch dran verändern kann....
Und vor allem (Headline) was ist mit dem Thema
der SQL Injection?
Meine bisherigen Annahmen:
- Name als Email (weil man per Emailcheck sicherstellt das es eine Email ist)
- MD5 Passwort (alle Eingaben werden vor dem DB Kontakt verschlüsselt)
Das war es aber schon...
Hier der bisherige Script:
PHP-Code:
if ($_POST['login'] == '1') {
$pw = md5($_POST['password']) ;
$sql = 'SELECT * FROM users WHERE email = "'.$_POST['email'].'"
AND password = "'.$pw.'"
LIMIT 1;';
$result = mysql_query($sql) ;
if(mysql_num_rows($result) == 0) {
echo GLOBAL_LOGIN_DENIED ;
} else {
mysql_query($sql).mysql_error() ;
while($row = mysql_fetch_assoc($result)) {
$_SESSION['id'] = $row['id'] ;
$_SESSION['name'] = $row['name'] ;
$_SESSION['email'] = $row['email'] ;
$_SESSION['password'] = $row['password'] ;
$_SESSION['level'] = $row['level'] ;
$_SESSION['admin'] = $row['admin'] ;
$_SESSION['logged'] = '1' ;
}
echo GLOBAL_LOGIN_SUCCESFULL ;
}
}
Kommentar