2

サーバー側のコードを使用して、ユーザーのブラウザーでセッション Cookie が有効になっているかどうかをクラシック ASPで確認するエレガントな方法は何ですか(javascript も無効になっている可能性があるため)。

私は自分の解決策を持っていますが、それは地獄のように醜く見えます。

@James - ただし、セッション Cookie と汎用 Cookie の設定は区別されません (IE では、ファースト パーティ、セッション Cookie、サード パーティを区別できますが、Firefox ではファースト パーティとサード パーティのみが区別されます)。ログインページでセッション値を設定してから、Response.Redirect を実行して、セッション値がまだ有効かどうかを確認しています。

4

2 に答える 2

2

Cookie の有効期限を指定しない限り、セッション Cookieになります。セッションという用語は、HTTP では少しオーバーロードされています。IE ダイアログがセッション Cookie を参照する場合、それは、プロセス メモリにのみ保存され、ディスクに永続化されない Cookie を意味します。したがって、プロセス (セッション) の間のみ存続します。別の IExplore.exe プロセスを開始すると、以前または現存するセッション Cookie の値を持たない別のセッションが作成されます。

ただし、セッション オブジェクトに値を格納し、リダイレクトでの存在をテストするだけで、セッション レベルの Cookie でさえブロックされているかどうかをテストできます。

于 2008-11-12T20:43:01.553 に答える
1

私たちが使用した「地獄のような醜い」方法は、Cookie を設定して新しいページにリダイレクトすることでした。新しいページのコードで、Cookie が設定されているかどうかを確認します。2 番目のページにアクセスする唯一の方法は、Cookie が設定されているときにそこにリダイレクトされることなので、Cookie の有無によってブラウザーの状態がわかります。

于 2008-11-12T17:25:45.227 に答える