- PR -

クッキーに受け入れ判別について

1
投稿者投稿内容
Dream
常連さん
会議室デビュー日: 2004/01/29
投稿数: 43
投稿日時: 2006-10-11 10:25
Tomcat5.0.29, Struts1.1 Java1.4.2, Eclipse3.0で開発を行っています。

クッキーを受け入れる設定かどうかを判別するために、サーバー側で実装を試みています。

1)具体的には、StrutsのアクションクラスAで
Cookie cookie = new Cookie("MessageA","MessageA");
response.addCookie(cookie);
として、mapping.findForwardでJSPに遷移。

2)遷移したJSPで、response.sendRedirectを使ってアクションクラスBに制御を移す。

3)アクションクラスBにて
Cookie[] cookie = request.getCookies();
として1)でセットしたクッキーを取得できたかどうかでクッキーの受け入れができるかどうかを判別しようとしました。

FireFoxでは問題なくクッキーの受け入れの判別ができたのですが、IE6では
クッキーを受け付けない設定にしてもクッキーを受け入れることができ、しかも
セッションが持続されます。
1)でクッキーを設定しないとIE6ではセッションの持続は起こりません。

クッキーの受け入れ設定の判別はこの方法で問題ないのかどうかと、IE6でのこの挙動は正しいものなのかどうか教えていただければ幸いです。

よろしくお願い致します。


koe
大ベテラン
会議室デビュー日: 2003/07/13
投稿数: 198
投稿日時: 2006-10-11 15:33
確か、IEでは、localhostアドレスに対するアクセスに対しては
設定を変えてもクッキーの受け入れを禁止できなかった覚えがあります。
代わりにループバックアドレス(127.0.0.1)を指定すると、
なぜかクッキーの受け入れをブロックできるようになります。
意味不明…

サーバに対してlocalhostアドレスでアクセスしているときは
上記ケースが該当すると思います。
Dream
常連さん
会議室デビュー日: 2004/01/29
投稿数: 43
投稿日時: 2006-10-11 17:52
ありがとうございました。

ご指摘の通り、localhostアドレスをやめて、127.0.0.1を使用するとクッキーの設定が反映されました。
また、ネットワークを介しても同様に動作してくれました。

それにしても、localhostアドレスだと動かないのは、確かに意味不明ですね。

それでは、
教えてくださり、どうもありがとうございました。
1

スキルアップ/キャリアアップ(JOB@IT)