![]() |
|
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]()
|
|
| Prompt |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 62 Регистрация: 22.2.2006 Репутация: нет Всего: нет |
Только не отсылайте меня к http://vingrad.ru/PHP-PHPSCRIPTS-002849
Если я реализую авторизацию с помощью сессий, то как проверить авторизован ли пользователь не на странице на которой вводится пароль, а на тех на которые пользователь приходит с главной? Надо просто проверить существование, например, переменной $_SESSION['login'] и пришел ли пользователь со страницы данного сервера? Проверка такая
Это правильно? |
|||
|
||||
| vasac |
|
||||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1060 Регистрация: 4.5.2006 Репутация: 8 Всего: 36 |
а вот это
уже по вкусу. |
||||
|
|||||
| arial |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 772 Регистрация: 11.3.2003 Где: Архангельская обл . Репутация: 6 Всего: 7 |
Достаточно одной таблэтки! (С)
-------------------- Есть люди, в которых живет Бог. Есть люди, в которых живет дьявол. А есть люди, в которых живут только глисты. (Ф. Раневская) |
|||
|
||||
| Kefir |
|
|||
|
«Hakuna Matata» ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 1878 Регистрация: 25.1.2003 Где: Tampere, Suomi Репутация: 13 Всего: 87 |
например, при правильном логине ты ставишь юзеру $_SESSION['logged_in'] == true; вот и проверяй эту тему. Я к сожалению не телепат и не знаю как ты логинишь, так что лучше всё-таки хотя бы опиши чего ты делаешь с юзером, чтобы отметить его как залогиненого.
|
|||
|
||||
| Prompt |
|
||||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 62 Регистрация: 22.2.2006 Репутация: нет Всего: нет |
У меня всего один пользователь с паролем - администратор. Поэтому я делаю так.
В access.php
А на других страницах так:
Этого достаточно? |
||||||
|
|||||||
| AztEK |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 723 Регистрация: 4.1.2005 Репутация: 6 Всего: 18 |
Лучше смотреть сессию, чем referer - глючит меньше.
-------------------- Linux is like wigwam -- no windows, no gates, apache inside. |
|||
|
||||
| Prompt |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 62 Регистрация: 22.2.2006 Репутация: нет Всего: нет |
Это как?
|
|||
|
||||
| Mal Hack |
|
|||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 122 Всего: 261 |
Какая разница? Алгоритм один и тот же. Ребят, сессию вполне можно поддералать, поэтому на такие варианты решения полагаться нельзя. |
|||
|
||||
| arial |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 772 Регистрация: 11.3.2003 Где: Архангельская обл . Репутация: 6 Всего: 7 |
Новичкам он особенно подходит. -------------------- Есть люди, в которых живет Бог. Есть люди, в которых живет дьявол. А есть люди, в которых живут только глисты. (Ф. Раневская) |
|||
|
||||
| Prompt |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 62 Регистрация: 22.2.2006 Репутация: нет Всего: нет |
А если запоминать какой-нибудь id, как в FAQ, в виде md5(время+имя пользователя+ еще что-то), но только не в таблице, а опять же в файле. И проверять его на всех страницах?
|
|||
|
||||
| Mal Hack |
|
|||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 122 Всего: 261 |
Не имеет значения ГДЕ ты будешь хранить данные, главное алгоритм. Надеюсь пароль не будешь в txt кидать. |
|||
|
||||
| Vreden |
|
|||
|
Idiotic Admin ![]() ![]() Профиль Группа: Участник Сообщений: 295 Регистрация: 12.7.2006 Репутация: нет Всего: 1 |
А куда нужно пароль кидать и вообще как хранить данные в файлах, чтобы они были доступны только админу? -------------------- Чё? Как? © |
|||
|
||||
| Mal Hack |
|
|||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 122 Всего: 261 |
Выше DocumentRoot, но скорее всего у тебя туда скрипт не сможет обратиться. Поэтому надо БД использовать.
|
|||
|
||||
| Shark |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 703 Регистрация: 18.6.2006 Где: Москва Репутация: 4 Всего: 4 |
я сделал через БД у ся так...:
где $_POST['author'] - то, что вводит юрез,а $res['name'] - то, что находится в БД... если пользователь верно ввел логин то пишется Ник, а если нет... то "Пусто".... и далее я писал так $_SESSION['current_user']=$res['name']; - и все... но это я так... как новичек писал.... но все работает нормально....+ я еще писал,сравнение пароля, сравнение имени с паролем и т.д.... но это уже мелочи |
|||
|
||||
| Prompt |
|
||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 62 Регистрация: 22.2.2006 Репутация: нет Всего: нет |
Это проверка
А файл sess.php выглядит вот так
|
||||
|
|||||
| arial |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 772 Регистрация: 11.3.2003 Где: Архангельская обл . Репутация: 6 Всего: 7 |
Prompt, ну ты махинатор!
-------------------- Есть люди, в которых живет Бог. Есть люди, в которых живет дьявол. А есть люди, в которых живут только глисты. (Ф. Раневская) |
|||
|
||||
| Mal Hack |
|
|||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 122 Всего: 261 |
Prompt, сделай с БД, иначе ты НЕ СДЕЛАЕШЬ безопасный скрипт.
|
|||
|
||||
| Prompt |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 62 Регистрация: 22.2.2006 Репутация: нет Всего: нет |
|
|||
|
||||
| Mal Hack |
|
|||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 122 Всего: 261 |
||||
|
||||
| Gwire |
|
||||||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 216 Регистрация: 7.8.2007 Где: Николаев Репутация: нет Всего: 4 |
Можно сделать так.
Любой переход между страницами сайта будет иметь $_COOKIE['Login'] равном 1 Внимание: на этой странице (страница вызова setcookie('Login', 1);) $_COOKIE['Login'] не равен 1. Понятно что проверять пароль если $_COOKIE['Login'] установлен - нет нужды
Или php для отсутствующего елемента массива возврощает "null", что == fasle. И все что не ==0 понятно ==true (зачем я вообще объясняю, хотя может что-то забыл) Кстати вызывать setcookie('Login', true) не советую - "глюки какие-то" (не разбирался, "харит").
По закритию браузера $_COOKIE['Login'] сбрасывается. |
||||||
|
|||||||
| Feldmarschall |
|
|||
|
Новичок ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2641 Регистрация: 11.12.2007 Репутация: 22 Всего: 32 |
Gwire, сколько разговоров было в этом топике двухгодичной давности о ненадежности разных механизмов, но твое предложение - это одна сплошная дыра, размером с небоскреб.
Никогда так не делай. Используй сессии. |
|||
|
||||
| Gwire |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 216 Регистрация: 7.8.2007 Где: Николаев Репутация: нет Всего: 4 |
Feldmarschall
При нажатии [F5] отображается только $_COOKIE["var"] seted |
|||
|
||||
| Feldmarschall |
|
|||
|
Новичок ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2641 Регистрация: 11.12.2007 Репутация: 22 Всего: 32 |
вообще-то, нужна ещё такая функция, как session_start()
|
|||
|
||||
| Gwire |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 216 Регистрация: 7.8.2007 Где: Николаев Репутация: нет Всего: 4 |
Я провильно понял session_start() создат сессию. Все переменные созданные в ней будут разрушены после применения session_destroy() Как-будто я закрыл браузер. Sorry: другая тема. Это сообщение отредактировал(а) Gwire - 2.4.2008, 18:36 |
|||
|
||||
| Djinn |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 250 Регистрация: 18.5.2007 Репутация: 1 Всего: 1 |
а почитать про сессии ваше в облом ???
file1:
file2:
P.S. если допустился ошибки, извиняюсь... писал по быстрому... Это сообщение отредактировал(а) Djinn - 2.4.2008, 18:39 |
||||
|
|||||
| Feldmarschall |
|
|||
|
Новичок ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2641 Регистрация: 11.12.2007 Репутация: 22 Всего: 32 |
примерно.только session_start() не только создает, а еще и продолжает сессию, делая её доступной в скрипте
Добавлено через 57 секунд Djinn, session_register убери. |
|||
|
||||
| Djinn |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 250 Регистрация: 18.5.2007 Репутация: 1 Всего: 1 |
нет, уничтожатся они будут при вызове ф-и ! тойсть пока ты в php не вызовешь эту ф-и, сессии будут хранится (ну я имею ввиду не смотря на перезагрузку браузера... но естественно лимитировано по времени) Добавлено через 3 минуты и 22 секунды Спасиба, извиняюсь... все верно, без него нуно (хотя и с ним работает |
|||
|
||||
| Gwire |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 216 Регистрация: 7.8.2007 Где: Николаев Репутация: нет Всего: 4 |
||||
|
||||
| Djinn |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 250 Регистрация: 18.5.2007 Репутация: 1 Всего: 1 |
http://www.softtime.ru/bookphp/gl8_1.php вот вроде неплохо...
|
|||
|
||||
| Feldmarschall |
|
|||
|
Новичок ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2641 Регистрация: 11.12.2007 Репутация: 22 Всего: 32 |
||||
|
||||
![]()
|
| Правила форума "PHP" | |
|
|
Новичкам:
Важно:
Внимание:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | PHP: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |