Ребятки, а ну подскажите. Допустим есть форма:
HTML:
<form action='login.php' method='post'>
E-mail: <input type='text' name='emailUser'><br />
Пароль: <input type='password' name='passwordUser'><br />
<input type=submit name=submit value=' войти '><br />
<?php=$message;?>
<form>
А дальше есть обработчик этой формы:
PHP:
if (isset($_POST['submit'])) {
$emailUser=$_POST['emailUser'];
$passwordUser=md5($_POST['passwordUser']);
// дальше идет проверка на вводимые данные, аля "пустые поля", "кол-во воодимых символов", "корректность вводимого e-mail'a"
// и дальше делаю запрос в базу
include "config.php";
$q=mysql_query("SELECT * FROM `users` WHERE(`emailUser`='$emailUser')");
$r=mysql_fetch_array($q);
if ($r['emailUser']!=$emailUser or $r['passwordUser']!=$passwordUser) { $message="Пароль или e-mail введен не верно!"; }
else {
$_SESSION['user']="yes";
$_SESSION['idUser']=$r['idUser'];
echo "<script type=\"text/javascript\"> window.location.href = \"login.php\" </script>";
}
mysql_close($link);
} else;
Но учитывая ошибки, решил обратиться к
PHP:
mysql_real_escape_string()
Но думается мне, что ее одной не достаточно для того, чтобы максимально обезопасить запрос. Поэтому еще решил преобразовать html функцией
В итоге обработка получилась такого вида:
PHP:
$emailUser=mysql_real_escape_string(htmlentities($_POST['emailUser']));
$passwordUser=mysql_real_escape_string(htmlentities(md5($_POST['passwordUser'])));
Теперь сам вопрос:
на сколько правильная и безопасная обработка? При том, что запрос остается прежним
PHP:
$q=mysql_query("SELECT * FROM `users` WHERE(`emailUser`='$emailUser')");