как отправить cookie после завершения ссессии

alex-ghost

Новичок
Такой вопрос.
Есть модуль проверки ссылки, который выдает разрешение на доступ к странице. решил я значит к этому делу подключить печеньки. Дописал в начале модуля
$ad_login = "" ;
далее в проверке ссылки написал:
$ad_login = md5($url_skey);
setcookie("ad_login", $ad_login,time()+2592000);
Ну и в конце прописал
if (isset($_COOKIE['ad_login'])){
($ad_login = $_COOKIE['ad_login']);
}
if ($ad_login == md5('db_skey')){
$valid = TRUE;
}
Проблема в том, что кука выдается только в рамках одной сессии. При переоткрытии страницы после закрытия браузера кука не выдается, хотя из браузера никуда не исчезает.
К слову db_skey=url_skey
 

ksnk

прохожий
При установке куки полезно указывать параметр path. Иначе кука ставится в "текущий каталог" сайта и не видна в других "каталогах"
 

ksnk

прохожий
Четвертый параметр функции setcookie
path
Путь к директории на сервере, из которой будут доступны cookie. Если задать '/', cookie будут доступны во всем домене domain. Если задать '/foo/', cookie будут доступны только из директории/foo/ и всех ее поддиректорий (например, /foo/bar/) домена domain. По умолчанию значением является текущая директория, в которой cookie устанавливается.
 

AnrDaemon

Продвинутый новичок
А вы, простите, вообще понимаете, КАК работают печеньки?
 

antson

Новичок
Партнер клуба
сажать единственную куку идет в разрез с тем как ты планируешь ее использовать: проверять на каждой странице совпадает ли она с секретным кодом страницы.
много кук плохо (хранилище броузера конечно, кроме того в хедерах запросов статики они тоже передаются, как этого избежать рассказывать не буду ибо это лечение неправильного подхода )

А разграничение делают обычно следующими
1. Авторизован / нет
2. по конкретному человеку только информация доступная ему (личные кабинеты)
3. группы пользователей и доступ дается группе
4. материалы/ресурсы тоже группируются (н-р подписка юзера на пакет каналов IPTV)

т.е. Есть одна кука секретный ид пользователя (лучше две + его логин) . Неявно это кука сессии
Запрашиваем из базы его профиль с правами доступа
Сравниваем его с требуемым для страницы.

з.ы. Верить кукам пришедшим от пользователей нельзя. Подделываются / редактируются элементарно
 
Сверху