![]() |
|
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]()
|
|
| sidd |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 238 Регистрация: 7.10.2006 Где: Киев Репутация: нет Всего: нет |
Я прочитал вот этот практикум. Там в примере реализовано с помощью куков, а внизу написано, что в большинстве случаев лучше использовать сессии.
Это действительно так? Ведь, насколько я понимаю, практически во всех современных сайтах авторизация на куках. Там же авторизация сохраняется даже после перезапуска браузера. А вот сессии у меня сразу теряются после закрытия браузера. Так что же тогда лучше все-таки, если нужно, чтоб была возможность оставаться надолго в системе? |
|||
|
||||
| Shogun |
|
|||
|
сёгун-сан ![]() ![]() Профиль Группа: Участник Сообщений: 290 Регистрация: 8.6.2006 Где: Кишинёв Репутация: 9 Всего: 11 |
Ну да на сессиях лучше, да и удобнее и безопаснее.
А чтобы не пропадала сессия после закрытия браузера нужно с куках хранить какой-то токен который нужно проверять при входе на сайт и все такое. На этом форуме куча тем где затрагивается этот вопрос. Это сообщение отредактировал(а) Shogun - 20.3.2011, 00:05 -------------------- 2b || !2b |
|||
|
||||
| sidd |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 238 Регистрация: 7.10.2006 Где: Киев Репутация: нет Всего: нет |
Не знаю, как это я так ищу, но что-то не могу найти ничего. Подскажите, пожалуйста, как это делается. Я нашел только, что можно в php.ini продлить жизнь сессий. Но какой толк с этого, если PHPSESSID удаляется при закрытии браузера (ну по карйней мере у меня так)? |
|||
|
||||
| SneG0K |
|
|||
|
Max Mara ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1887 Регистрация: 1.12.2007 Где: Wis Dells Репутация: 7 Всего: 54 |
use_cookies = 1
use_only_cookies = 1 session.cookie_lifetime = цифра в секундах В коде session_start() перед началом вывода в браузер Плохо искали! Это сообщение отредактировал(а) SneG0K - 20.3.2011, 02:31 |
|||
|
||||
| sidd |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 238 Регистрация: 7.10.2006 Где: Киев Репутация: нет Всего: нет |
Да, извините, я, наверно, ленивый просто. Спасибо, теперь вроде понял. Ну хорошо, я поставил одинаковый срок жизни для переменной PHPSESSID и для самой сессии. Теперь по истечении этого времени они должны одновременно удалятся, если все правильно понял. У меня вот еще вопрос есть. Сессия и куки будут удаляется через заданый срок начиная со времени создания или со времени последнего использования? Это сообщение отредактировал(а) sidd - 20.3.2011, 03:10 |
|||
|
||||
| SneG0K |
|
|||
|
Max Mara ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1887 Регистрация: 1.12.2007 Где: Wis Dells Репутация: 7 Всего: 54 |
Со времени последнего пользования.
Добавлено через 1 минуту и 24 секунды Да, и совет вам на будущее измените параметр save_path если на сервере будет работать несколько сайтов и у них будет одинаковый save_path, то существует возможность конфликтов, которые могут привести к разным результатам. |
|||
|
||||
| KIRINDORF |
|
||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 79 Регистрация: 11.2.2011 Репутация: 1 Всего: 1 |
Нет, это не ты ленивый. Просто единого источника получения точных теоретических данных и практических советов у нас нет.
это только если в браузере настроено убивать куки при закрытии браузера. Куки могут быть вообще отключены. Тогда сесии стартуют только при: session.use_trans_sid = 1 и session.use_only_cookies = 0 в php.ini Ты установил время жизни сессии и кук. Это время еще не закончилось а твой клиент попользовался сайтом и вышел. За браузер сел другой чел. И если этот чел зайдет на тот же сайт что и первый, ему будут открыты все приватные зоны первого пользователя. Ведь сервер, в твоей ситуации, решает кому можно а кому нет по кукам: пришла кука - заходи, не пришла - досвиданья. А браузер и будет слать именно эту куку, оставленную первым пользователем. Время жизни куки и сессии еще не истекло, а твой пользователь решил зайти на сайт с другого браузера - ему придется снова авторизоваться, ведь куки каждый браузер хранит только для себя. И если в куках первого лежало что-то, то оно будет недоступно при пользовании сайтом с другого браузера. Новая сессия - новые куки. Думай! |
||||
|
|||||
| SneG0K |
|
|||
|
Max Mara ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1887 Регистрация: 1.12.2007 Где: Wis Dells Репутация: 7 Всего: 54 |
KIRINDORF, я так понимаю, что вы предлагаете хранить идентификатор сессии еще и параметром в ссылке?
эту ситуацию, увы, невозможно отследить, разве что через вебку |
|||
|
||||
| KIRINDORF |
|
||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 79 Регистрация: 11.2.2011 Репутация: 1 Всего: 1 |
id сессии хранится либо в куках, тогда его надо руками приписывать к ссылкам, либо сессии строятся с использованием механизма PHP поддержки сессий, тогда никаких кук а id к ссылкам и submitam будут дописаны автоматически.
О том и речь, что отследить не возможно. Поэтому если задачи безопасности закрытых зон сайта возложены на программиста, то нельзя сторить сессии на куках. Это сообщение отредактировал(а) KIRINDORF - 20.3.2011, 13:28 |
||||
|
|||||
| sidd |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 238 Регистрация: 7.10.2006 Где: Киев Репутация: нет Всего: нет |
Спасибо, теперь понятно вроде. А то раньше немного смутно понимал принцип работы сессии и куков.
Меня еще мучает одна проблема. Вот, допустим, стоит время жизни сессии два дня. Злоумышленик авторизовуется, удаляет свой PHPSESSID. Потом снова авторизовуется, и снова удаляет. И так очень много раз. И тогда сервер засорится кучей недействительных сессий, которые начнут удалятся только через два дня. Или так не будет? |
|||
|
||||
| SneG0K |
|
|||
|
Max Mara ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1887 Регистрация: 1.12.2007 Где: Wis Dells Репутация: 7 Всего: 54 |
||||
|
||||
| KIRINDORF |
|
||||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 79 Регистрация: 11.2.2011 Репутация: 1 Всего: 1 |
Установил время жизни сессии 2 дня, вот и будут жить они на сервере 2 дня.
они же остаются действительными втечение 2 дней
помоему это уже не твоя головная боль, а если хостинг-провайдер стукнет таки тебе за это по шапке, то тогда и будешь решать. Добавлено @ 14:02
если ты поклонник кук - то да. Чтоб программисту не париться с куками в вопросах безопасности жутко важных зон и вообще не ломать голову по-поводу защиты, нам дан механизм сессий. Куки сойдут если в процессе навигации по сайту нужно сохранять кучу всякой инфы. Еще раз повторюсь, для поддержки приватных зон в PHP создан механизм сессий. SneGOK, помоги лучше мне в вопросе отладки! Эта созданная мной тема болтается где-то третьей сверху. Напиши мне там, если есть что подсказать, ато, блин, никто не отвечает. Это сообщение отредактировал(а) KIRINDORF - 20.3.2011, 14:04 |
||||||
|
|||||||
| sidd |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 238 Регистрация: 7.10.2006 Где: Киев Репутация: нет Всего: нет |
А я вот не очень понимаю смысл сессий. Ведь если хранить ID в куках, то его точно так же можно украсть, поставить себе и зайти на сайт под чужой сессией. Единстенное преимущество в том, что время сессии устанавливается на сервере, получается. Это сообщение отредактировал(а) sidd - 20.3.2011, 14:17 |
|||
|
||||
| KIRINDORF |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 79 Регистрация: 11.2.2011 Репутация: 1 Всего: 1 |
По поводу кук я изложил свои соображения в своем первом сообщении темы.
А в сессиях что тебе не понятно? |
|||
|
||||
| SneG0K |
|
|||
|
Max Mara ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1887 Регистрация: 1.12.2007 Где: Wis Dells Репутация: 7 Всего: 54 |
||||
|
||||
![]()
|
| Правила форума "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. |