|
|
|
| Доброго времени суток. Хотел подробнее узнать о куках..
1)как реализовать отправку куков. Пользователь вводит пароль и попадает на check.php, там он проверяется и ему присваиваются куки. Это правильно?
2)Далее он попадает на forum.php. Нужно ли ему присваивать куки снова? А на последующих страницах?
3)как реализовать проверку куков, проверять на каждой странице пароль и имя? Как в check.php?
4)хотя и назначаю куки( setcookie("name",$name) ), в "документс и сеттингс/кукис" нет моего... Что я делаю не так?
C кукис связался недавно и хочу научиться сразу применять их правильно, но не нашёл ни одного руководства, которое говорило бы, это нужно делать так, а это лучше так...
Поэтому подскажите пожалуйста.
Спасибо | |
|
|
|
|
|
|
|
для: iham
(19.01.2007 в 03:47)
| | 1)
>>как реализовать отправку куков
setCookie(), setRawCookie(), header()
Пользователь вводит логин/пасс
На странице проверки(хотя необязательно на отдельной странице, можно делать это вначале скрипта)
- очищаем их от мусора (вских там апострофов, бэкслешей и прочего)
- проверяем валидность введенных данных (по БД или в файле)
- если логин/пасс валидны ставим куки (я предпочитаю пасс еще и зашифровать - лишним не будет)
не забудьте сначала куки (хэдеры) потом текст
- и раз они валидны поднимает флаг что юзер залогинен
- если не валидны - так ему и говорим
2)
>>Нужно ли ему присваивать куки снова?
Нет куки у него уже стоят. Пока не истечет их срок
>>А на последующих страницах?
Мы только проверяем глобальный массив _COOKIE на наличие в нем ключей login/pass (или как вы их там обозвали) и проверяем валидность уже куков. Если куки шифровали то они в массиве будут уже зашифрованные. Следовательно данные для проверки из БД/файла тоже надо будет зашифровать и сранивать уже зашифрованные строки.
3) Проверяем куки и их валидность функцией вначале скрипта.
4) может вы Оперой/ФайрФоксом пользуетесь. Если да - то смотрите в настройках этих браузеров - там есть специальные вкладки для управления кукисами.
>>C кукис связался недавно и хочу научиться сразу применять их правильно, но не
>>нашёл ни одного руководства, которое говорило бы, это нужно делать так, а это лучше так...
Плохо искали. | |
|
|
|
|
|
|
|
для: targa
(19.01.2007 в 06:01)
| | 4) если неуказан "срок жизни" куки, то она не сохраняется в файле и будет жить в памяти до закрытия окна. | |
|
|
|
|
|
|
|
для: jbs
(19.01.2007 в 06:11)
| | огромное спасибо спасибо, пока всё ясно. :)
Будем разбираться. | |
|
|
|
|
|
|
|
для: iham
(19.01.2007 в 07:01)
| | А вот ещё вопрос возник, выставляю я время жизни куков, и они умирают независимо от того, работаю я со страницами или нет. Как это исправить? На каждой странице их заново присваивать?
И ещё, как правильно их проверять? $_COOKIE["name"])="" или isset($_COOKIE["name"]) или ещё как.
Вобщем они умирают, проблема в этом. Подскажите, пожалуйста. | |
|
|
|
|
|
|
|
для: iham
(27.01.2007 в 18:18)
| | Использовать isset - правильно, если необходимо проверить существование кукисов. | |
|
|
|
|
|
|
|
для: Sergey89
(27.01.2007 в 18:20)
| | Спасибо, а как на счёт того чтоб они не умирали? | |
|
|
|
|
|
|
|
для: iham
(27.01.2007 в 19:39)
| | Должны жить, если правильно срок даете :)
Указывается не количество секунд/минут/дней , а дата, когда срок жизни закончится, например
time()+60*60*3 - будут жить еще 3 часа
|
| |
|
|
|
|
|
|
|
для: kasmanaft
(27.01.2007 в 20:42)
| | спасибо, конечное, я таким макаром и сделал... Только по истечении этого времени пользователь вылетит. А если он работает с сайтом 24 часа подряд?
Я имел ввиду, как сделать, чтоб куки поняли, пока умирать не стоит, ведь пользователь еще сдесь.. | |
|
|
|
|
|
|
|
для: iham
(27.01.2007 в 22:37)
| | тогда может
time() + 99*99*99*99 | |
|
|
|
|
|
|
|
для: bronenos
(28.01.2007 в 12:54)
| | :) понятно | |
|
|
|