Модераторы: skyboy, MoLeX, Aliance, ksnk

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Для авторизации использовать куки или сессии? 
:(
    Опции темы
sidd
Дата 19.3.2011, 23:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 238
Регистрация: 7.10.2006
Где: Киев

Репутация: нет
Всего: нет



Я прочитал вот этот практикум. Там в примере реализовано с помощью куков, а внизу написано, что в большинстве случаев лучше использовать сессии.
Это действительно так? Ведь, насколько я понимаю, практически во всех современных сайтах авторизация на куках. Там же авторизация сохраняется даже после перезапуска браузера. А вот сессии у меня сразу теряются после закрытия браузера. Так что же тогда лучше все-таки, если нужно, чтоб была возможность оставаться надолго в системе?
PM MAIL WWW ICQ Skype Jabber   Вверх
Shogun
Дата 20.3.2011, 00:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


сёгун-сан
**


Профиль
Группа: Участник
Сообщений: 290
Регистрация: 8.6.2006
Где: Кишинёв

Репутация: 9
Всего: 11



Ну да на сессиях лучше, да и удобнее и безопаснее.
А чтобы не пропадала сессия после закрытия браузера нужно с куках хранить какой-то токен который нужно проверять при входе на сайт и все такое.

На этом форуме куча тем где затрагивается этот вопрос.

Это сообщение отредактировал(а) Shogun - 20.3.2011, 00:05


--------------------
2b || !2b
PM MAIL ICQ Skype   Вверх
sidd
Дата 20.3.2011, 02:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 238
Регистрация: 7.10.2006
Где: Киев

Репутация: нет
Всего: нет



Цитата(Shogun @  20.3.2011,  00:05 Найти цитируемый пост)
На этом форуме куча тем где затрагивается этот вопрос.

Не знаю, как это я так ищу, но что-то не могу найти ничего. Подскажите, пожалуйста, как это делается. Я нашел только, что можно в php.ini продлить жизнь сессий. Но какой толк с этого, если PHPSESSID удаляется при закрытии браузера (ну  по карйней мере у меня так)?
PM MAIL WWW ICQ Skype Jabber   Вверх
SneG0K
Дата 20.3.2011, 02:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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
PM WWW Skype   Вверх
sidd
Дата 20.3.2011, 03:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 238
Регистрация: 7.10.2006
Где: Киев

Репутация: нет
Всего: нет



Цитата(SneG0K @  20.3.2011,  02:30 Найти цитируемый пост)
use_cookies = 1use_only_cookies = 1session.cookie_lifetime = цифра в секундахВ кодеsession_start() перед началом вывода в браузерПлохо искали!

Да, извините, я, наверно, ленивый просто. Спасибо, теперь вроде понял.
Ну хорошо, я поставил одинаковый срок жизни для переменной PHPSESSID и для самой сессии. Теперь по истечении этого времени они должны одновременно удалятся, если все правильно понял.
У меня вот еще вопрос есть. Сессия и куки будут удаляется через заданый срок начиная со времени создания или со времени последнего использования?

Это сообщение отредактировал(а) sidd - 20.3.2011, 03:10
PM MAIL WWW ICQ Skype Jabber   Вверх
SneG0K
Дата 20.3.2011, 04:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Max Mara
***


Профиль
Группа: Завсегдатай
Сообщений: 1887
Регистрация: 1.12.2007
Где: Wis Dells

Репутация: 7
Всего: 54



Со времени последнего пользования.

Добавлено через 1 минуту и 24 секунды
Да, и совет вам на будущее
измените параметр save_path
если на сервере будет работать несколько сайтов и у них будет одинаковый save_path, то существует возможность конфликтов, которые могут привести к разным результатам.
PM WWW Skype   Вверх
KIRINDORF
Дата 20.3.2011, 11:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 79
Регистрация: 11.2.2011

Репутация: 1
Всего: 1



Цитата

Да, извините, я, наверно, ленивый 

Нет, это не ты ленивый. Просто единого источника получения точных теоретических данных и практических советов у нас нет.

Цитата

Но какой толк с этого, если PHPSESSID удаляется при закрытии браузера 

это только если в браузере настроено убивать куки при закрытии браузера.

Куки могут быть вообще отключены. 
Тогда сесии стартуют только при: 
session.use_trans_sid = 1 и
session.use_only_cookies = 0 в php.ini

Ты установил время жизни сессии и кук. Это время еще не закончилось а твой клиент попользовался сайтом и вышел. За браузер сел другой чел. И если этот чел зайдет на тот же сайт что и первый, ему будут открыты все приватные зоны первого пользователя. Ведь сервер, в твоей ситуации, решает кому можно а кому нет по кукам: пришла кука - заходи, не пришла - досвиданья. А браузер и будет слать именно эту куку, оставленную первым пользователем.

Время жизни куки и сессии еще не истекло, а твой пользователь решил зайти на сайт с другого браузера - ему придется снова авторизоваться, ведь куки каждый браузер хранит только для себя. И если в куках первого лежало что-то, то оно будет недоступно при пользовании сайтом с другого браузера. Новая сессия - новые куки.

Думай! smile 

PM MAIL   Вверх
SneG0K
Дата 20.3.2011, 13:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Max Mara
***


Профиль
Группа: Завсегдатай
Сообщений: 1887
Регистрация: 1.12.2007
Где: Wis Dells

Репутация: 7
Всего: 54



KIRINDORF, я так понимаю, что вы предлагаете хранить идентификатор сессии еще и параметром в ссылке?
Цитата(KIRINDORF @  20.3.2011,  10:43 Найти цитируемый пост)
За браузер сел другой чел. И если этот чел зайдет на тот же сайт что и первый, ему будут открыты все приватные зоны первого пользователя.

эту ситуацию, увы, невозможно отследить, разве что через вебку
PM WWW Skype   Вверх
KIRINDORF
Дата 20.3.2011, 13:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 79
Регистрация: 11.2.2011

Репутация: 1
Всего: 1



Цитата

вы предлагаете хранить идентификатор сессии еще и параметром в ссылке?

id сессии хранится либо в куках, тогда его надо руками приписывать к ссылкам, либо сессии строятся с использованием механизма PHP поддержки сессий, тогда никаких кук а id к ссылкам и submitam будут дописаны автоматически.


Цитата

За браузер сел другой чел. И если этот чел зайдет на тот же сайт что и первый, ему будут открыты все приватные зоны первого пользователя.
эту ситуацию, увы, невозможно отследить, разве что через вебку 

О том и речь, что отследить не возможно. Поэтому если задачи безопасности закрытых зон сайта возложены на программиста, то нельзя сторить сессии на куках.


Это сообщение отредактировал(а) KIRINDORF - 20.3.2011, 13:28
PM MAIL   Вверх
sidd
Дата 20.3.2011, 13:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 238
Регистрация: 7.10.2006
Где: Киев

Репутация: нет
Всего: нет



Спасибо, теперь понятно вроде. А то раньше немного смутно понимал принцип работы сессии и куков.
Меня еще мучает одна проблема. Вот, допустим, стоит время жизни сессии два дня. Злоумышленик авторизовуется, удаляет свой PHPSESSID. Потом снова авторизовуется, и снова удаляет. И так очень много раз. И тогда сервер засорится кучей недействительных сессий, которые начнут удалятся только через два дня. Или так не будет?
PM MAIL WWW ICQ Skype Jabber   Вверх
SneG0K
Дата 20.3.2011, 13:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Max Mara
***


Профиль
Группа: Завсегдатай
Сообщений: 1887
Регистрация: 1.12.2007
Где: Wis Dells

Репутация: 7
Всего: 54



Цитата(KIRINDORF @  20.3.2011,  12:27 Найти цитируемый пост)
 Поэтому если задачи безопасности закрытых зон сайта возложены на программиста, то нельзя сторить сессии на куках.

а есть другие варианты? Если уж жутко важная безопасная зона, то тогда ограничивать время простоя и делать куку до закрытия браузера.
PM WWW Skype   Вверх
KIRINDORF
Дата 20.3.2011, 13:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 79
Регистрация: 11.2.2011

Репутация: 1
Всего: 1



Установил время жизни сессии 2 дня, вот и будут жить они на сервере 2 дня.

Цитата

кучей недействительных сессий

они же остаются действительными втечение 2 дней

Цитата

тогда сервер засорится кучей ... сессий

помоему это уже не твоя головная боль, а если хостинг-провайдер стукнет таки тебе за это по шапке, то тогда и будешь решать.

Добавлено @ 14:02
Цитата

время простоя и делать куку до закрытия браузера. 

если ты поклонник кук - то да.

Чтоб программисту не париться с куками в вопросах безопасности  жутко важных зон и вообще не ломать голову по-поводу защиты, нам дан механизм сессий. Куки сойдут если в процессе навигации по сайту нужно сохранять кучу всякой инфы. Еще раз повторюсь, для поддержки приватных зон в PHP создан механизм сессий.

SneGOK, помоги лучше мне в вопросе отладки! Эта созданная мной тема болтается где-то третьей сверху. Напиши мне там, если есть что подсказать, ато, блин, никто не отвечает. smile 

Это сообщение отредактировал(а) KIRINDORF - 20.3.2011, 14:04
PM MAIL   Вверх
sidd
Дата 20.3.2011, 14:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 238
Регистрация: 7.10.2006
Где: Киев

Репутация: нет
Всего: нет



Цитата(KIRINDORF @  20.3.2011,  13:48 Найти цитируемый пост)
Еще раз повторюсь, для поддержки приватных зон в PHP создан механизм сессий.

А я вот не очень понимаю смысл сессий. Ведь если хранить ID в куках, то его точно так же можно украсть, поставить себе и зайти на сайт под чужой сессией. Единстенное преимущество в том, что время сессии устанавливается на сервере, получается.

Это сообщение отредактировал(а) sidd - 20.3.2011, 14:17
PM MAIL WWW ICQ Skype Jabber   Вверх
KIRINDORF
Дата 20.3.2011, 14:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 79
Регистрация: 11.2.2011

Репутация: 1
Всего: 1



По поводу кук я изложил свои соображения в своем первом сообщении темы.
А в сессиях что тебе не понятно?
PM MAIL   Вверх
SneG0K
Дата 20.3.2011, 19:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Max Mara
***


Профиль
Группа: Завсегдатай
Сообщений: 1887
Регистрация: 1.12.2007
Где: Wis Dells

Репутация: 7
Всего: 54



Цитата(KIRINDORF @  20.3.2011,  12:48 Найти цитируемый пост)
если ты поклонник кук - то да.

ID сессии хранится в куке (Ваш кеп). 
PM WWW Skype   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0544 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.