|
 1.7 Кб |
|
| Вот, прикрепляю два файла: первый, index.php - один из файлов сайта. Там можно увидеть функцию авторизации, она выделенга наглядно. Такая функция продублирована на каждой странице сайта. Второй файл, login.php - скрипт, к которому ссылается форма авторизации на страницах сайта (из index.php к примеру тоже). Работает это всё дело безотказно (пока вроде бы), но чувствую и знаю, что по неопытности (первый раз авторизацию делал) что-то, какие-то мелочи упустил... Например замечены два косяка - нельзя просмотреть HTML-код страниц сайта, как это делается обычно... почему ?? Второй косяк - если открыть браузер и адресом вбить любую страницу сайта, то после этой первой загрузки ко всем ссылкм на странице приписывается SID... подозреваю, что это из-за того, что куки (сессионные куки??) создаются тлько после второй загрузки страницы. Т.е. если нажать рефреш, то SID уже не будет приписываться... Но почему так происходит ? Как делают это правильно ? ЗЫ: Был бы не против увидеть ещё и ваши примеры авторизаций, если не лень :) Заранее спасибо ! | |
|
|
|
|
|
|
|
для: DDK
(26.11.2005 в 14:41)
| | Можете считать, что ваша авторизация сломана... так как отсутствует защита от SQL-инъекции. Даже без структуры таблицы st_users понадобится где-то 20 минут на подбор инъекции, после чего можно авторизоваться под любым пользователем. Единственное, что ваc может спасти - это включённые магические кавычки на сервере. Необходимо добавить защиту всех переменных, которые участвуют в SQL-запросе при помощи функции [url]mysql_escape_string()[/url]
<?php
if (!get_magic_quotes_gpc())
{
$username = mysql_escape_string($username);
}
?>
|
| |
|
|
|
|
|
|
|
для: cheops
(26.11.2005 в 22:05)
| | Да, спасибо, этот момент в login.php я как-то упустил :( Мне очень стыдно. Но просто про mysql_escape_string() я узнал совсем недавно из этого же форума, но уже после написания login.php. За это спасибо, но интересны ещё два вопроса по самому механизму авторизации, о которых я писал в первом посте... | |
|
|
|