0

でセッションを開始しています

$sess = new Zend_Session_Namespace('MySession');

cookiesセッションは正常に機能しますが、ブラウザで無効にすると問題が発生します。私は大きなアプリケーションを持っているので、クッキーのない環境で動作させるための最良の解決策は何ですか.

4

2 に答える 2

1

Cookieのないブラウザをサポートする代わりに、ログインページにCookieが必要であるという警告を表示できます。最近の多くのWebアプリケーションでは、Cookieを有効にする必要があります。

// make sure cookies are enabled
$.cookie('test_cookie', 'cookie_value', { path: '/' });
if ($.cookie('test_cookie') != 'cookie_value') {
    noty({"text":"Cookies must be enabled to log in. <a href='http://support.google.com/accounts/bin/answer.py?hl=en&answer=61416' class='noty_link'>Click here to learn how to enable cookies.</a>","layout":"top","type":"error","textAlign":"center","easing":"swing","animateOpen":{"height":"toggle"},"speed":500,"closable":false, "closeOnSelfOver":false, "timeout":"", "closeOnSelfClick":false});
}

このコードスニペットは、jquery.cookie.js(https://github.com/carhartl/jquery-cookie)とnoty(http://needim.github.com/noty/)プラグインプラグインを使用します

于 2012-05-29T14:40:22.717 に答える
1

session.use_only_cookies を「0」に設定し、コード内の URL にセッション ID を追加すると、すべてのリンクまたはリダイレクトに「session_id=4b5fe6a4019a8cd7fc4326664e9e03ae」のようなものが URL に追加されます。

このアプローチには多くの問題があります。最大の問題は、ユーザーが URL を共有することを決定した場合、たとえば Facebook で、ブラウザーから URL 全体 (セッション ID を含む) をコピーし、そのリンクをクリックしたすべての人がキャプチャすることです。ユーザーのセッション。

これを見てください。

于 2012-05-29T14:33:40.163 に答える