Comment puis-je limiter à un cookie « / admin » sur mon domaine?
-
09-10-2019 - |
Question
Comment puis-je faire le session.cookie_path
cookie disponible uniquement pour le module "/admin/"
?
Code de Zend Framework:
// Se Login?
public static function isLoggedIn() {
$namespace = new Zend_Session_Namespace('Zend_Auth');
$namespace->setExpirationSeconds(60*5); //5 Minutos dura una session
$namespace->cookie_path = '/admin/'
return Zend_Auth::getInstance()->hasIdentity();
}
Je ne peux pas obtenir PHPSESSION d'avoir l'ensemble de chemin de '/admin/'
. PHPSESSION a toujours le jeu de chemin de '/'
dans le cookie. ; - (
La solution
typeoneerror est presque là. Vous allez vouloir utiliser le paramètre « cookie_path » et non « cookie_domain »
Exemple:
Zend_Session::setOptions(array(
'cookie_lifetime' => 0,
'cookie_path' => "/admin",
'cookie_domain' => ".test.com",
'cookie_secure' => false,
'cookie_httponly' => true
));
Autres conseils
Si je vous comprends bien, vous voulez limiter le cookie « admin / » sur le domaine? vous devez passer cookie_path comme des options à Zend_Session, et non son partenaire _Namespace:
$settings = array("cookie_domain" => "/admin");
Zend_Session::setOptions($settings);
Vous pouvez également démarrer une session avec un objet de paramètres:
Zend_Session::start($settings);
Vous pouvez également enregistrer vos réglages dans un fichier de configuration:
$config = new Zend_Config_Ini('config.ini', 'development');
Zend_Session::setOptions($config->toArray());