Надерем хацкерам задницу! Никита "red_way" Кислицин Xakep, номер #065, стр. 065-118-4 SSL - наш друг Использование SSL позволяет заметно повысить устойчивость системы к атакам, не меняя ни строчки кода. Здесь идея состоит в использовании криптографии в организации потока данных между клиентом и сервером - теперь хакеру не удастся отснифать пользовательский пароль и получить доступ к информации, которую в самой системе ты можешь очень хорошо защитить. SSL применяет асимметричные криптографические алгоритмы. Сервер посылает клиенту открытый ключ, с помощью которого ему следует криптовать передаваемую информацию. Расшифровать ее теперь сможет только сам сервер, поскольку, одному ему известен секретный ключ. Сервис https работает обычно на 443 порту, а большинство современных браузеров умеют работать с такими защищенными соединениями. Эта технология стала очень популярной, ты в этом и сам уже убедился, если имел дело с электронными магазинами. Код устойчивой функции аутентификации пользователя function LogIn($login, $passw) { /* Боремся с sql-injection */ $login = addslashes($login); $passw = addslashes($passw); /* Отправляем запрос на получение времени последней ошибки */ $ti=mysql_query("select LastErrTime from LoginErrors where login='$login'"); $tm=mysql_fetch_array($ti); /* Текущее время в секундах */ $tim=time(); /* Если с момента последней ошибки прошло не более 3 секунд */ if($tm[0]+3>time()) { echo "Repeat your request after 3 seconds"; /* Обновляем время последней ошибки */ mysql_query("update LoginErrors set LastErrTime='$tim' where login='$login'"); return 0; } /* Выбираем хеш пароля пользователя $login */ $lo=mysql_query("select passwd from users where login='$login'"); /* Если таких пользователей не 1 */ if(mysql_num_rows($lo) != 1) return 0; $log=mysql_fetch_array($lo); /* Хешируем введенный пользователем пароль*/ if($log[0]==md5("$passw")) return 1; } INFO Полный перебор всех вариантов пароля длиной 8 символов для системы аутентификации, работающей на алгоритме md5, на быстром процессоре займет несколько лет. CD На диске ты найдешь кучу материала по криптографии, web-безопасности и корректной обработке ошибок, а также некоторые мои наработки по этой теме. |