Една бисквитка за www.*.com и *.com

misho

Registered
Така си създавам бисквитката за вход в профила:
PHP:
setcookie("user_name", $user['user_name'], time() + 90*24*3600, DIRECTORY_SEPARATOR);
Проблемът е, че ако съм бил на www.*.com когато съм влизал в сайта, бисквитката не важи за *.com. :lol:
Как да я направя да е в сила и за двата адреса? Или може би по-добрият вариант ще е да има само *.com, без варианта с www (някак трябва да ги пренасоча чрез .htaccess)?
 
Е задаваш въпрос, а не си запознат с параметрите на функцията setcookie().

Както и да е. Разгледай функцията какви параметри приема. Има един параметър след параметъра path(в случая ти си задал DIRECTORY_SEPARATOR), който се нарича domain. За да е достъпна бисквитката задай него параметър, както ти казах. А именно:

PHP:
setcookie("user_name", $user['user_name'], time() + 90*24*3600, DIRECTORY_SEPARATOR, '.example.com');

Бисквитката ще е достъпна, както за example.com така и за www.example.com и subdomain.example.com.
 
misho каза:
relax4o, много ти благодаря за изчерпателиня отговор! :?:

Мога и да бъда по-изчерпателен. И ще ти дам един добър съвет, но за тази цел пак ще трябва да разгледаш всички параметри на функцията.

Та, ако няма да използваш бисквитки посредством JavaScript, обезателно задай последния параметър(httponly) да е true. Така ще предотвратиш достъпа на бисквитките посредством XSS.
 

Back
Горе