(PHP) ログインページ http://hoge/login.php というページがあります。このページはパスワードとIDを check.php に送っています。


しかしこの場合だとhttp://hacker/fake_login.php でも<from action=" のところを http://hoge/check.php まで指定してしまえばログインできてします。他のサーバーからのデータの送信を拒否するにはどうしたらいいのでしょうか?

リファーラを調べるという方法もありますが、ブラウザの種類やセキュリティソフトなどでリファーラを送信しない場合もあるためNGです。

そのほかの方法で対策できる方法がありましたら教えてください。

回答の条件
  • 1人2回まで
  • 登録:2006/03/16 00:18:50
  • 終了:2006/03/19 11:21:13

ベストアンサー

id:aki73ix No.1

aki73ix回答回数5224ベストアンサー獲得回数272006/03/16 00:30:22

ポイント60pt

まず、http://hoge/login.php にアクセスしたときにセッションIDを発行&記録し、FORMのパラメータに渡し、http://hoge/check.php へアクセスした時に、一定時間内に発行したセッションIDでなかったらエラーにするというのはいかがでしょうか?

もしくは、login.phpにアクセスしてきたIPアドレスとUserAgentを一定時間保存しておき、保存リストの中にcheck.php にアクセスしてきたユーザーなら許可するという方法もありますね

これらの方法なら、ブラウザに依存しないで処理することができると思います

http://www.atmarkit.co.jp/fsecurity/rensai/webhole03/webhole...

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません