- - PR -
アドレス直打ちについて
| 投稿者 | 投稿内容 | ||||
|---|---|---|---|---|---|
|
投稿日時: 2003-07-01 14:40
JSPなりサーブレットなりのアドレスを直打ちした際に、規定のページからでないとアクセスできないようにしたいのですが、セッションを使わずに実現する事はできるのでしょうか?
よくあるログイン画面からでないとページが見れないというやつです。(直アドはエラーにする) | ||||
|
投稿日時: 2003-07-01 15:47
がちょぴんさんの書き込み (2003-07-01 14:40) より:
>JSPなりサーブレットなりのアドレスを直打ちした際に、規定のページからでないとアクセスできないようにしたいのですが、セッションを使わずに実現する事はできるのでしょうか? よくあるログイン画面からでないとページが見れないというやつです。(直アドはエラーにする) よくあるのは、HTTPヘッダのRefererを見るという手段です。Refererは偽造可能なので 確実な手段ではないですが、通常のブラウザからのアクセスであれば大丈夫でしょう。 | ||||
|
投稿日時: 2003-07-01 15:55
なるほど〜、勉強になりました。
さっそく調べてみます。 ukさんありがとうございました!。 | ||||
|
投稿日時: 2003-07-01 16:08
こんにちわ。 この手の話し(アドレス直打ち)はWEB系のシステム開発を行っていると かなり頻繁に出てくる話しですよね。 これが最適だ!という方法は結局のところないので?と思っています。 完璧にやりたいのなら、画面遷移ごとにsessionと画面側に暗号化 でもしたIDを持たせて、正常な画面遷移かどうかチェックするとか? 僕はGETをはじけば、それだけ十分のような気もしているのですが・・。 # あ、ログインしている人だけ見れるページっていうのは # そもそもsessionの中になんかフラグ持って判断すればいいですよね。 なんか結局この手の話しは ・「GETはじきますよ!」 ・「POSTだけでもブラウザ経由じゃなくてHTTPリクエスト送信できるぜ」 ・「そんなハッカーな!」 まぁなんでもできるので、リスクはなんでもあるんですよね。 refererもそうですよね。 ポイントとしては、なんでもいいから不正な操作をされた時 「不正なデータ」が登録されたりしないかどうか。 ではないでしょうか? これがなければ、refererでもPOSTでもOKだと思いますけど。 みなさんはアドレス直打ちをどのように回避しているのか 僕もちょっと知りたいです。 | ||||
|
投稿日時: 2003-07-01 19:00
> JSPなりサーブレットなりのアドレスを直打ちした際に、規定のページから
> でないとアクセスできないようにしたいのですが、セッションを使わずに > 実現する事はできるのでしょうか? 公開するJSPはひとつだけにしておいて、あとはすべてincludeで対処するとか いかがでしょうね。 当然何らかの値をもらってどれをincludeすべきかは判断しなきゃいけないんですが。 でも、セッションを使わないとたいていのことはできないと思うんですけど? | ||||
|
投稿日時: 2003-07-01 19:06
こんにちは、makuraです。
私も Referer に一票。 ぜんぶPOSTというのも確かに効果ありそうですね。 POSTの場合は応答がキャッシュされないのが既定の動作なので、 「画面がキャッシュされてしまってうまく回らない」というトラブルも防げるというおまけ付きです。 #キャッシュ禁止にするHTTPヘッダを各ページに一律にセットすればいいだけですけどね。 でも私はキャッシュを最大限に活用する派なので、ぜんぶPOSTというのは抵抗が 既定がキャッシュ禁止のものにヘッダでキャッシュ許可するのはなんとなく気持ち悪いと思うし、GETとPOSTは本来の姿のまま使い分けたいという思いもあります。現実には機能面の違いでしかなくなっているので、割り切って考えないといけないんでしょうけどね。 | ||||
|
投稿日時: 2003-07-02 09:44
こんにちは。
サーブレットからJSPにForwardという前提ですが、web.xmlに <security-constraint> <web-resource-collection> <web-resource-name>test</web-resource-name> <url-pattern>*.jsp</url-pattern> </web-resource-collection> <auth-constraint></auth-constraint> </security-constraint> を追加すると、JSPに対し直接アクセスできなくなるようです。 サーブレットの直打ちは、どう対応しましょう??? 参考までに。 | ||||
|
投稿日時: 2003-07-02 10:30
皆さんのおかげで知識が増えました。ありがとうございます。
セッションを使わずにというのは、いちいち設定するのが面倒だったので、 どこかで一括管理できないかなーと思ったからです。 そう甘いもんじゃないですね。 でもセッションを使う方法しか今まで知らなかったので、 いろいろな技を聞けて感謝しています。 これからもなにかありましたらよろしくお願いいたします。 | ||||
