Безопасная авторизация

HefneR

Новичок
Безопасная авторизация

Уже как-то писал авторизацию пользователей на сайте, но по неопытности, он получился весь дырявый. Теперь опять встала эта задача, но хочется что бы решение было защищено в полной мере. Искал статьи, но большинство ещё хуже чем мой старенький скрипт. Есть конечно же и те, где указываются слабые места, но всё-равно не полность. Если кто видел грамотную статью на тему как защитить авторизацию на сайте, поделитесь плз ссылочкой!

PS: я не ищу готовый код, хотя бы чисто тиоритически
PS2: в поиске по форуму, выдало много тем, но вроде ничего стоящего не проходило..
 

tf

крылья рулят
http://www.google.com/search?client=opera&rls=ru&q=php+%D0%BF%D1%80%D0%B8%D0%BC%D0%B5%D1%80%D1%8B&sourceid=opera&ie=utf-8&oe=utf-8
там всего 83 странички
 

Agatov

Новичок
Проверяй логин и пасс на спецсимволы.
Сделай в базе пользователей поле "last_error". Если пароль к логину не подходит, то блокируй на 5-10 секунд. При таких условиях брутфорс становиться неосуществимой задачей.

PHP:
$last_error; // последняя ошибка.
$pass1; // присланный пользователем пароль
$pass2; // md5 хеш пароля, взятый из базы

if(md5($pass1 != $pass2) 
{
set_last_error(time());
return 0;

}
else
{
if($last_error + 10 > time())
{

// Заменяем значение "last_error" в БД на time()
set_last_error(time());
return 2;
}
else
{
return 1;
}
}
-~{}~ 23.11.06 20:44:

Я не стал писать код всей функции, только лишь основные моменты..
 

Popoff

popoff.donetsk.ua
HefneR
А ты напиши сам такую статью. Сделай обзор статей, опиши, где на какие уязвимости указывают. Поищи по форуму - тоже опиши, где у кого какие глюки находили. Поищи в гугле - там примеров миллион. Опиши собственный опыт, опиши, какие глюки ты понаходил у себя и какие глюки понаходил у других.
 

Agatov

Новичок
ну доппустим апостроф. sql-injection вроде ещё никто не отменял ведь?
 

Popoff

popoff.donetsk.ua
Agatov
sql-инъекции возникают не из-за апострофов, а из-за кривых рук ;)
 

Agatov

Новичок
Согласен.. но провериться на символы ' / и.т.п. не помешает ведь
 

HefneR

Новичок
tf, ты типа сейчас вые.... повыпендривался? если бы я там из этих 82 страниц, нашёл то что искал, писал бы я сюда?

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

Popoff, легче учиться на ошибках других, нежели на собственых ^^
 

Фанат

oncle terrible
Команда форума
HefneR
1. защита от подбора пароля - после трех неверных вводов запись блокируется и разблокируется руками админа по письму.
2. защита от перехвата сессии - в момент старта сессии пишем в нее айпишник, и сверяем.

Это то, что касается авторизации.
остальное - это уже обшие правила написания недырявых скриптов.
 

С.

Продвинутый новичок
Автор оригинала: Фанат
2. защита от перехвата сессии - в момент старта сессии пишем в нее айпишник, и сверяем.
У меня стоит АДСЛ достаточно слабенький. Периодически теряет соеденение и я автоматом его пересоеденяю. В 75% случаев я получаю другой айпи. Но обратил внимание, что еще ни разу меня никто не выкинул из сессии. Значит народ не пользуется этой защитой.

На самом деле перехват сессии достаточно сложен, чтобы охотится за чужими эккаунтами в форумах, а банки имеют другую защиту.
 

Фанат

oncle terrible
Команда форума
tf
ты прекрасно понял, о какой защите идет речь.
не строй из себя дурачка.
 

Popoff

popoff.donetsk.ua
С.
Можно добавить настройку, чтобы проверялось любое количество от 0 до 32 старших бит ip-адреса. У меня, например, по умолчанию проверяется 28 бит, но каждый может перенастроить.
 
Сверху