Je dois limiter les cookies à mon sous-domaine www, cela fonctionne en ajoutant la ligne session.cookie_domain = www.example.com dans le fichier php.ini. Cependant, j’ai un certain nombre d’hôtes virtuels sur mon serveur, donc j’ai besoin que ce domaine soit différent pour chacun. Après un peu de recherche sur le Web, j’ai essayé d’utiliser:
'SetEnv session.cookie_domain www.example.com' - in my httpd.conf 'php_flag session.cookie_domain www.example.com' in .htaccess
Cependant, les deux semblent empêcher les cookies de fonctionner tous ensemble!
Toute aide très appréciée!
Stu
Le moyen le plus simple d’y parvenir est d’utiliser session_set_cookie_params()
au lieu de le définir via .htaccess
(la méthode .htaccess
ne fonctionne que si PHP est utilisé comme module). Vous pouvez l’utiliser de la manière suivante:
session_set_cookie_params(0, '/', 'www.example.com'); session_start();
Le problème est que php_flag
est en fait uniquement destiné aux valeurs booléennes. Ainsi, lorsque vous utilisez la commande php_flag
, vous définissez en fait cookie_domain
sur 0
, raison pour laquelle elle cesse de fonctionner.
Pour les valeurs de texte, vous devez utiliser php_value
dans la configuration .htaccess ou apache. Il est également recommandé de citer la valeur:
php_value session.cookie_domain ".domain.com"
voir: http://www.php.net/manual/en/configuration.changes.php
Une autre option consiste à utiliser ini_set :
ini_set("session.cookie_domain", "www.example.com");
Dans mon cas, celui-ci a fonctionné pour moi:
setcookie("name", $Value4Name, time()+$3600 , "/", ".domain.com");
Mais c’est à vous d’enregistrer un cookie pour la racine du domaine.
acclamations PC
Ce code fonctionne à 100%, définissez ce code dans le fichier .htaccess
php_value session.cookie_path "/" php_value session.cookie_domain ".localhost"
Ou code pour fichier JavaScript
function my_cookie($name, $value, $expires = 0) { return setcookie($name, $value, $expires, '/', 'example.com', ...); }