Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Обработка пароля. Как правильнее и безопаснее?
 
 автор: Keyses   (14.07.2009 в 15:17)   письмо автору
 
 

Есть форма для авторизации пользователей. Авторизация проходит путём сверки логина и пароля с данными из БД.
Возникает вопрос как правильно обработать пароль чтобы защитить себя от SQL-инъекций и от перехвата его третьими лицами при submit'е формы.

Я делал так:
$password = mysql_real_escape_string(stripslashes($_POST['password'])));


Но потом, подумал, а что если у пользователя будет в начале пароля или в конце пробел, тогда stripslashes не катит. Может его вообще не стоит тут использовать?

  Ответить  
 
 автор: sl1p   (14.07.2009 в 15:25)   письмо автору
 
   для: Keyses   (14.07.2009 в 15:17)
 

при регистрации пользователя, занося в базу обработайте пароль функцией md5()
дальше сверяйте WHERE `password` = md5($_POST['password'])

  Ответить  
 
 автор: Keyses   (14.07.2009 в 16:12)   письмо автору
 
   для: sl1p   (14.07.2009 в 15:25)
 

да я собственно говоря так и делаю. Вот только прежде чем заносить пароль в
$_SESSION['admin_password'] = $password;

следует ли применять к нему md5, sha или можно передавать его в сессию в явном виде?

  Ответить  
 
 автор: Trianon   (14.07.2009 в 16:24)   письмо автору
 
   для: Keyses   (14.07.2009 в 16:12)
 

Зачем в сессии держать пароль?

  Ответить  
 
 автор: Keyses   (14.07.2009 в 17:45)   письмо автору
 
   для: Trianon   (14.07.2009 в 16:24)
 

понятно.

  Ответить  
 
 автор: Trianon   (14.07.2009 в 15:32)   письмо автору
 
   для: Keyses   (14.07.2009 в 15:17)
 

вообще не стоит.

  Ответить  
 
 автор: Keyses   (14.07.2009 в 16:13)   письмо автору
 
   для: Trianon   (14.07.2009 в 15:32)
 

А mysql_real_escape_string() оставить?

  Ответить  
 
 автор: Trianon   (14.07.2009 в 16:24)   письмо автору
 
   для: Keyses   (14.07.2009 в 16:13)
 

Это смотря что дальше.

  Ответить  
 
 автор: Keyses   (14.07.2009 в 17:44)   письмо автору
 
   для: Trianon   (14.07.2009 в 16:24)
 

Дальше делается запрос к БД где сверяются данные.

  Ответить  
 
 автор: Trianon   (14.07.2009 в 17:50)   письмо автору
 
   для: Keyses   (14.07.2009 в 17:44)
 

А в сессию помещать зачем?

  Ответить  
 
 автор: Keyses   (14.07.2009 в 17:54)   письмо автору
 
   для: Trianon   (14.07.2009 в 17:50)
 

Да дело в том что я только начал с сессиями разбираться, и взял готовый пример, там так было написано, думал надо. Теперь понял, что ошибся.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования