- - PR -
ダイレクトアクセス対策について[Struts]
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2007-05-06 12:06
いつもおせわなっております。
Struts 1.3を利用して開発で行っております。 ウィーザードなどのページを作成する際に、 課題の一つとして、直打ち対策があると思いますが、 皆様はどのようにして、直打ち対策を実現されていますでしょうか。 色々と方法があると思いますが、この際に、 見直しを行いたいと思い投稿させていただきました。 「フレームワークを変えろ」というのは、無しにして アドバイスをいただけないでしょうか。 よろしくお願いいたします。 |
|
投稿日時: 2007-05-06 16:32
ウィザードの開始でセッションにフラグのようなものを設定し、
ウィザードの終了でフラグを除去するようにしてはいかがでしょう。 そのフラグ次第で直打ちか遷移か判定できると思います。 これらの処理を自動的に行うものとしてトークンと呼ばれる仕組みもあります。 |
|
投稿日時: 2007-05-06 20:15
前ページ同じURLにして hidden パラメータかなにかで遷移先を決定するというのはいかがでしょうか。
|
|
投稿日時: 2007-05-06 23:49
ご回答ありがとうございます。
>これらの処理を自動的に行うものとしてトークンと呼ばれる仕組みもあります。 Transaction Tokenですよね。 Transaction Tokenと、validationの融合はどうされていますでしょうか? 私は、Actionの中で token設定の判定をすると、validationを利用した場合、 入力チェックが行われた後に、判定が行われるため、画面遷移として 少し違和感を感じてしまいます。validationの前に、tokenのチェックをすることが 可能なのでしょうか。 |
|
投稿日時: 2007-05-07 00:54
ActionFormを継承しているなら、ActionForm#validate()内で
TokenProcessor#isTokenValid(HttpServletRequest)で判定できますね。 トークンの処理は基本的にアクションの中で行うものですが、 トークンの処理自体がTokenProcessorというクラスで完結できるように出来ているので、 そのクラスを使うのも手かと思います。 |
|
投稿日時: 2007-05-07 08:15
かつのりさんありがとうございます。
かつのりさんが言われたとおり、今まで、 validate()の中で行うケースは試したことは あったのですが、validate.xmlを定義をして、 validate()を継承してvalidate.xmlで記述した内容を 実行させてから、isTokenValidを利用していました。 >トークンの処理は基本的にアクションの中で行うものですが そうですよね。Strutsを開発されたかたは、 このようなケースを想定していなかったんでしょうか、 自己都合になってしまいますが、validate.xmlの処理の前に、 isTokenValidができるような仕組みがほしいと思いました。 |
|
投稿日時: 2007-05-07 11:08
JBossSeamとかではRequest以上Session未満のスコープをサポートしていますね。
Struts2でもそのようなスコープをサポートしていたような気がします。 |
|
投稿日時: 2007-05-07 14:08
気になったのですが「直打ち対策」の「直打ち」って
何を直打ちすることを指していますか? URLなのかなぁとは思うのですが。 GETで作ってるのでもなければエラーページ表示するのが適切でしょうかね。 そういえば、同じURLにPOSTし続ける構成のシステムも昔見たことありますね。 |
1