Пример простейшей процедуры авторизации, которую я использую в своих проектах... Проблем с безопасностью пока не было... Однако как и любой начинающий программист могу ошибатся в чем-то... Потому прошу вас господа скажите что по вашему мнению в этом небольшом куске кода не так? Я намерено отказался от использования Cookies (в конце коцов сейчас в каждом браузере есть поддержка запоминания вводимых паролей - пусть это будет прерогативой клиента ). PHP: if ($_SESSION['ADMIN_LOGED'] != true) { $login = mysql_escape_string($_POST['login']); $pass = md5(mysql_escape_string($_POST['pass'])); $result = $db->query("SELECT * FROM users WHERE login = '$login' AND pass = '$pass'"); if ($db->num_rows($result) > 0) { $_SESSION['ADMIN_LOGED'] = true; } else { $_SESSION['ADMIN_LOGED'] = false; } } if ($_SESSION['ADMIN_LOGED'] == false) { // Если была попытка авторизации, то сообщаем об ошибке // выводим форму ввода логина и пароля exit(); } Меня интересует ваше мнение о безопасности такого вот простого решения авторизации пользователей...
я проблем не вижу непонятно только для чего тебе следующее: но это не ошибка. если тебе хотца так - пусть будет так
QQQ у меня тоже когда-то существовала такая проверка. потом я задумался зачем она если я все равно беру хеш от пароля
> md5(mysql_escape_string( надо либо в обратном порядке, либо что-то одно из них > $_SESSION['ADMIN_LOGED'] причём тут админ? > $_SESSION['ADMIN_LOGED'] = true; почему бы не сохранить всю информацию о пользователе, раз уж мы её всё-равно получили из базы?
Если автор так же добавляет пароль, то и можно не менять порядок. А так будут храниться не правильные хеши паролей. Например, пароль - atg'dfg. md5 будет браться уже от atg\'dfg md5("atg'dfg") <> md5("atg\'dfg")