「Open棟梁 wiki」は、「Open棟梁Project」,「OSSコンソーシアム .NET開発基盤部会」によって運営されています。
★ 不正操作の制御・抑止に関する要件を明確にしておくこと。
”Open棟梁”のASP.NET用P層フレームワークでは、
以下の不正操作防止に関する機能を使用できる。
同一の業務を、wwwブラウザの同一プロセス上の複数ウィンドウで操作するとSessionの競合が発生する可能性がある。
※ ”Open棟梁” ASP.NET用P層フレームワークの「ブラウザ・ウィンドウ別Session領域」を使用することで、この問題を回避することができる 。
※ 仮に、1枚のブラウザ ウィンドウでの表示のみ許可するのであれば、
GET要求をログイン時(もしくは任意の業務開始時)の1回のみ許可して名称付きのブラウザ ウィンドウにメニュー画面を表示させる。
以降、全ての画面遷移を
- POST + Transferで実装してGET要求を拒否する
- もしくは、 ”Open棟梁”のASP.NET用P層フレームワークの「画面遷移制御機能」を使用する
ことで、1枚のウィンドウの制限を実現できる。
※ ”Open棟梁”のASP.NET用P層フレームワークの「画面遷移制御機能」を使用することで、この問題を回避することができる。
などが発生する可能性がある。
Gecko系のWWWブラウザ(Firefoxなど)ではデフォルトで二重送信が抑止されているものもあるが、IE6.0、7.0、8.0では抑止されていない。
※ ”Open棟梁”のASP.NET用P層フレームワークの「二重送信防止機能」を使用することで、クライアント側で二重送信を防止できる。
また、「不正操作防止機能」を使用することで、(クライアント側で漏れた場合も、)サーバ側で「二重送信」を防止できる 。
二重送信と同様の現象を発生させる可能性がある。
これには、HTTPレスポンスのヘッダに「Cache-Control: no-cache」を設定しキャッシュ無効することで対応できるが、
など、制御し難いケースも発生し得る。
また、キャッシュ無効化だけの場合は、以下のケースで前画面に戻れてしまう。
また、こちらも同様に挙動がファジーである。
※ ”Open棟梁”のASP.NET用P層フレームワークの「不正操作防止機能」を使用することで、サーバ側で「バック サブミット」を防止できる。
当該画面のレスポンスに対応する旧リクエストがサーバに再送されるため、二重送信と同様の現象を発生させる可能性がある。
ASP.NETの画面遷移直後の動作について:
このため、Response.Redirectの場合は、初期表示か否かで動作が異なる場合がある(画面初期表示のGet再送、ポストバックのPost再送)。
必要に応じて、「メニュー非表示」・「ファンクション キー抑止」などで対応可能だが、クロス ブラウザでの対応は難しい可能性がある。
※ ”Open棟梁”のASP.NET用P層フレームワークの「不正操作防止機能」を使用することで、サーバ側で(リロード)を防止できる。
※ ”Open棟梁”のASP.NET用P層フレームワークの「不正操作防止機能」を使用することで、(読み込みの停止後の操作)を防止できる。