ドメインのクッキーを「/管理者」に制限するにはどうすればよいですか?

StackOverflow https://stackoverflow.com/questions/4175236

  •  09-10-2019
  •  | 
  •  

質問

どうすればクッキーを作ることができますか session.cookie_path モジュールでのみ利用できます "/admin/"?

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();
}

私はphpssessionをに設定することができません '/admin/'. 。 phpsessionには常にパスが設定されています '/' クッキーで。 ;-(

役に立ちましたか?

解決

TypeOneerrorはほとんどそこにあります。 「cookie_domain」ではなく、「cookie_path」の設定を使用したいと思います。

例:

    Zend_Session::setOptions(array(
        'cookie_lifetime' => 0,
        'cookie_path'     => "/admin",
        'cookie_domain'   => ".test.com",
        'cookie_secure'   => false,
        'cookie_httponly' => true
    ));

他のヒント

あなたを正しく理解している場合、あなたはドメインの「/管理者」にCookieを制限したいですか? _namespaceパートナーではなく、Zend_SessionのオプションとしてCookie_Pathを渡す必要があります。

$settings = array("cookie_domain" => "/admin");
Zend_Session::setOptions($settings);

設定オブジェクトでセッションを開始することもできます。

Zend_Session::start($settings);

設定を構成ファイルに保存することもできます。

$config = new Zend_Config_Ini('config.ini', 'development');
Zend_Session::setOptions($config->toArray());
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top