аутентификация: создание и защита @ DeForum.ru
DeДверь  
Логин:  
Пароль:  
  Автологин  
   
Разместить рекламу
Письмо админу
Правила | FAQ | *Поиск | Наша команда | Регистрация | Вход
 
 
 Страница 1 из 1 [ Сообщений: 10 ] 
*   Список форумов / Начинка и техника / Программирование для WWW » ответить » создать топик « | »
Автор Сообщение
iD Муж.
SubAdmin
Тоже креатор
13
Сообщения: 4359
Зарегистрирован: 17.11.01
Откуда: Moscow
Заголовок сообщения: аутентификация: создание и защита
Сообщение Добавлено: 5 Февраль 2002, 17:25:00 
Довели меня обстоятельства: стал я немного кодить [img]images/smiles/icon_smile.gif[/img] Так вот, пишу я сейчас для себя движок на php+mysql. В том числе, поставил элементарную аутентификацию: делается запрос типа mysql_query("SELECT * FROM users WHERE login='$login' AND password='$password'"). Если есть совпадающая строка, начинается сессия и переменным присваиваются значения из базы. Потом идет редирект на админский разде и т.д.
Вопросы:
1. Насколько правилен такой подход?
2. Какие есть варианты лучше?
3. Как защититься от роботов-переборщиков-ддосеров?
Crazy Муж.
Модератор
107
Сообщения: 14561
Зарегистрирован: 23.12.01
Откуда: Moscow
Заголовок сообщения: аутентификация: создание и защита
Сообщение Добавлено: 5 Февраль 2002, 18:18:00 
Такой подход нормален, если ты не забыл проквотить спецсимволы в $login и $password.

Защита от роботов вроде как стандартна -- основы лет 30 назад заложены...
iD Муж.
SubAdmin
Тоже креатор
13
Сообщения: 4359
Зарегистрирован: 17.11.01
Откуда: Moscow
Заголовок сообщения: аутентификация: создание и защита
Сообщение Добавлено: 5 Февраль 2002, 18:52:00 
1. Я их проквотил, хотя я и создаю аккаунты сам (уж больно закрытая система [img]images/smiles/icon_smile.gif[/img])
2. А поподробнее?
iD Муж.
SubAdmin
Тоже креатор
13
Сообщения: 4359
Зарегистрирован: 17.11.01
Откуда: Moscow
Заголовок сообщения: аутентификация: создание и защита
Сообщение Добавлено: 5 Февраль 2002, 18:57:00 
До этого я читал о вариантах типа "проверка на наличие логина >> проверка на наличие пароля >> проверка на принадлежность пароля логину". Я подумал и посчитал, что этот вариант чуть больше загружает систему и нужен только для разделения сообщений об ошибках (не "вы ввели неправильные данные", а "вы ввели неправильный логин" или "вы ввели неправильный пароль.") Или я не прав?
Crazy Муж.
Модератор
107
Сообщения: 14561
Зарегистрирован: 23.12.01
Откуда: Moscow
Заголовок сообщения: аутентификация: создание и защита
Сообщение Добавлено: 5 Февраль 2002, 18:57:00 
Мало создавать аккаунты самому -- нужно еще и чистить все, что подсовывешь на вход SQL-серверу. Представь, что квотинга нет и добрый пользователь в поле "login" ввел что-то эдакое:

<BLOCKQUOTE><font size="1" face="Verdana, Tahoma, sans-serif">code:</font><HR><pre>
x' or 1=1 or 'x'='x
</pre><HR></BLOCKQUOTE>

Подробнее о пункте 2:

a) Чтобы не перебирали пароли принято ограничивать минимальное время реакции системы на ввод пароля и ограничивать количество попыток ввода с указанного рабочего места (в нашем случае -- IP).

b) чтобы не клали DOS'ом -- не вводить жестких ограничений типа "если для логина Foobar трижды ввели неверный пароль -- заблокировать аккаунт до вмешательства администратора". [img]images/smiles/icon_smile.gif[/img]
iD Муж.
SubAdmin
Тоже креатор
13
Сообщения: 4359
Зарегистрирован: 17.11.01
Откуда: Moscow
Заголовок сообщения: аутентификация: создание и защита
Сообщение Добавлено: 5 Февраль 2002, 19:04:00 
1. $login = addslashes($login); хватит?

2.а) хм... ладно, попробую
2.б) не буду [img]images/smiles/icon_smile.gif[/img]

Спасибо!
Crazy Муж.
Модератор
107
Сообщения: 14561
Зарегистрирован: 23.12.01
Откуда: Moscow
Заголовок сообщения: аутентификация: создание и защита
Сообщение Добавлено: 5 Февраль 2002, 21:10:00 
<BLOCKQUOTE><font size="1" face="Verdana, Tahoma, sans-serif">quote:</font><HR>Автор Сообщения iD:
<STRONG>1. $login = addslashes($login); хватит?
</STRONG><HR></BLOCKQUOTE>

Я злобный. Я б с помощью регулярного выражения вытащил из строки логина ту его часть, что удовлетворяет нужным тредованиям. Аналогично -- с паролем.
iD Муж.
SubAdmin
Тоже креатор
13
Сообщения: 4359
Зарегистрирован: 17.11.01
Откуда: Moscow
Заголовок сообщения: аутентификация: создание и защита
Сообщение Добавлено: 5 Февраль 2002, 21:31:00 
Хм... Если когда-нибудь разберусь с регекспами, обязательно так и сделаю [img]images/smiles/icon_smile.gif[/img]
Crazy Муж.
Модератор
107
Сообщения: 14561
Зарегистрирован: 23.12.01
Откуда: Moscow
Заголовок сообщения: аутентификация: создание и защита
Сообщение Добавлено: 5 Февраль 2002, 21:46:00 
А что с ними разбираться? [img]images/smiles/icon_smile.gif[/img] Вот примерчик:

<BLOCKQUOTE><font size="1" face="Verdana, Tahoma, sans-serif">code:</font><HR><pre>
<?php
$login = "\tFoo.Bar Buzz";
if (ereg("([a-zA-Z0-9_.]+) ",$login,$cleanedLogin)) {
echo $cleanedLogin[1];
}
else
echo "Invalid login";
?>
</pre><HR></BLOCKQUOTE>

[ 05 Февраля 2002: Исправлено Crazy ]
iD Муж.
SubAdmin
Тоже креатор
13
Сообщения: 4359
Зарегистрирован: 17.11.01
Откуда: Moscow
Заголовок сообщения: аутентификация: создание и защита
Сообщение Добавлено: 5 Февраль 2002, 23:09:00 
Сенкс [img]images/smiles/icon_smile.gif[/img]
*   Список форумов / Начинка и техника / Программирование для WWW « | » » ответить » создать топик
 Страница 1 из 1 [ Сообщений: 10 ] 
Показать сообщения за:   Поле сортировки  
Найти:
Перейти:  
Уровень доступа: Вы не можете начинать темы. Вы не можете отвечать на сообщения. Вы не можете редактировать свои сообщения. Вы не можете удалять свои сообщения. Вы не можете добавлять вложения.
cron


ООО ДеФорум
При использовании материалов сайта ссылка на DeForum.ru — обязательна.
Проект Павла Батурина ©2001-2077; // Powered by phpBB © 2013 phpBB Group
Rambler's Top100