Почему может не срабатывать авторизация?
$livetime жива
$sess тоже жива
А почемуто не робит =(
$q = mysql_query("SELECT * FROM `$mysql[pref]users` WHERE (`time` >= '".$livetime."' AND `sess` = '".$sess."') OR (`nickname` = '".$cookie_log."' AND `password` = '".$cookie_pass."') OR (`time` >= '".$livetime."' AND `sess` = '".$sess."' AND `ip_1` = '".htmlspecialchars($ip_1)."' AND `ip_2` = '".htmlspecialchars($ip_2)."' AND `ip_op` = '".htmlspecialchars($ip_op)."');");
MaikL, Да тут вообще каша. Авторизация - процесс намного проще, чем у вас =)
03 Янв 2012, 13:34SL_NeKrOmAnT, Ну подскажи ка тогда как одним запросом авторизироваться
по кукам логина и пароля
либо
по сессии у которой время не истекло
либо
по сессии со схожими ip и ua
Коли это на много проще?
При чём, чтоб при авторизации не используя куки логина и пароля, они по прежнему отсутствовали а человек был авторизирован и без проблем пользовался ресурсами сайта.
У меня во всех скриптах всегда одна авторизация, по кукам (логин и пароль) проверяешь есть ли такие данные в базе, если есть выполняешь нужные действие авторизованного юзера
03 Янв 2012, 13:54 OR (`time` >= '".$livetime."' AND `sess` = '".$sess."' AND `ip_1` = '".htmlspecialchars($ip_1)."' AND `ip_2` = '".htmlspecialchars($ip_2)."' AND `ip_op` ='".htmlspecialchars($ip_op)."' Ужас нах.. Мало того что условие с " `time` >= '".$livetime."' AND `sess` = '".$sess."' " уже есть, так ты еще и добавил каких то 3 загадочных ип'а
---
Воспользоваться каким то одним вариантом как и все нормальные кодеры не вариант?
Хмм... Я тоже так делал всегда, но сейчас задумался о другом.
Скажем сидишь в интернет кафе и авторизировался, уходя данные остались в куках на этом компе. Кто сел после тебя может смело войти на сайт по твоим данным!!! А это не есть хорошо.
А так мы заходим на сайт, авторизируемся как и прежде, НО уже отмечаем что комп чужой!!!
При зтом авторизация происходит также, но в куки вместо логина и пароля пишем сессию, и в тоже время в анкету вносим эту самую сессию.
И продолжаем уже по сайту бродить авторизируясь лишь по сессии, но в случае отсутствия каких либо действий на сайте в течении нного времени, пользователь уже не сможет быть авторизованным по этой сессии и будет вновь на сайте как гость.
Что довольно удобно в данной ситуации.
добавлено спустя 5 минут:
JoiNeD, А с ипами это действительно перебор. Необращал на это внимания раньше. =)
Это вобще код из дцмс4, но уже по большей части переписанный на мой лад, и ещё ни всем моментам уделил внимания.
MaikL, время жизни кук/сессий для чего придуманы?) Кнопка " Выход " на сайте?
Хм.. Че ж ты в этом дцмс'е нашел? Что решил именно с ним работать.. Да еще с 4-ой
Время жизни кук конечно вариант, но тогда при переходе на кждую страницу прийдётся куку переписывать чтоб обновить ей жизнь.
Ну а про выход (убивание сессий) порой забывают, т.к. торопятся порой.
Простотой своей нравиться, к тамуже я его код наизусть знаю, т.к. уже модил его для себя раньше, но после взлома акка лишился всего. Сейчас же пишу на denwere.