※ ChatGPTを利用し、要約された質問です(原文:ASP.net MVC セッションハイジャック対応)
ASP.net MVC セッションハイジャック対応
このQ&Aのポイント
ASP.NET MVC 2.0で運用保守しているモバイル会員向けのサイトにおいて、セッションIDの表示方法がセキュリティ上の問題となったため、セッションIDの変更方法を探しています。
従来のWeb.Configでは、セッションIDがURLに表示されるように設定されていましたが、セキュリティ上の問題が指摘されたため、セッションIDの変更を実施しました。
現在、スマートフォンやPCからのアクセスではセッションIDがURLに表示されず、ログイン前後でセッションIDが変わることが確認できます。しかし、クッキー非対応の携帯ではセッションIDが変更されない問題が発生しています。クッキー非対応の端末でもセッションIDを変更する方法についてご教示いただけないでしょうか?
ASP.net MVC セッションハイジャック対応
どうにも困ってしまい初めて質問させていただきます。
現在、ASP.NET MVC 2.0で運用保守しているモバイル会員向けのサイトがあります。
従来のWeb.Configは
<sessionState mode="InProc" timeout="30" regenerateExpiredSessionId="true" cookieless="true"/>
のようにしており、URLにセッションIDが表示されるように設定されていました。
これがセキュリティ上問題ということで、ログインの前後でセッションIDを変更することになり、
ログイン処理時に
Session.Abandon();
を実行して、セッションを破棄して、ログイン後のページでセッションIDが変更するようにしており
これはうまく想定通りにいっていました。
その後、最近スマフォのアクセスの方が増えてきたこともあり、極力URLにセッションIDは表示したくないということでWeb.Configを以下のように変更しました。
<sessionState mode="InProc" timeout="30" regenerateExpiredSessionId="true" cookieless="AutoDetect"/>
スマフォやPCからのアクセスでは想定通りURLにセッションIDが表示されることもなく、
ログイン前後でセッションIDが変わりました。
しかし、クッキー非対応の携帯で確認すると、URLに表示されるセッションIDが
ログイン前後で変更されなくなってしまいました。
iモードシュミレータを使いデバッグ実行で直接セッションIDを確認しても、
やはり変わっていませんでした。
AutoDetectでクッキー非対応の端末でセッションIDを変更する方法はあるのでしょうか?
いろいろ調べたのですが直接関係するような内容は見つけることができず、
質問させてもらいました。
よろしくお願いします。
お礼
ご回答ありがとうございました。 ブラウザ定義ファイルというのは大変参考になりましたが、 本件とは関係がなさそうです。 やはりガラケーとスマフォ向けは分けるしかなさそうですね。 その方向で検討したいと思います。