Webアプリのセキュリティ対策


ユーザー認証を組み合わせた掲示板にてユーザー名をセッションIDから取得し “〜さんこんにちわ” と表示しています。 投稿する際はログインしないと投稿フォームが表示されない仕組みで、投稿の際投稿者名としてID名を<input type=”hidden” name=”id” value=”ID”>のようにして渡しています。しかしよく考えたらローカルでソースを保存しname=”ID”を別なID名に書き換えれば成りすましできてしまうのではないかと思い今対策方法を考え中です。

そこでIDを書き換えられずログインしたID名で投稿させるにはどのようにしたらいいのでしょうか?

また、はてなや教えてgooなど登録制が必要な掲示板サイトはどのようにこのようなアタックに対して対策をとっているのでしょうか?

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:2005/12/27 19:59:01
  • 終了:--

回答(3件)

id:cinc No.1

Futame回答回数38ベストアンサー獲得回数02005/12/27 20:16:17

ポイント35pt

http://www.atmarkit.co.jp/fsecurity/rensai/webhole01/webhole01.h...

@IT:Webアプリケーションに潜むセキュリティホール(1)

http://www.ipa.go.jp/security/awareness/vendor/programming/a01_0...

1-5. hiddenは危険(セッション変数を利用しよう)

通常はセッション変数の中に保持しておきます。

id:esecua

なるほど、セッションですか。

ありがとうございました。

2005/12/28 02:34:03
id:n_kusano No.2

n_kusano回答回数48ベストアンサー獲得回数12005/12/27 20:41:51

ポイント3pt

http://d.hatena.ne.jp/keyword/referer

refererとは - はてなダイアリー

リファラー(referer)を使ってリンク元を制限してはいかがですか。

id:esecua

どのようにPHP上で制限すればよろしいでしょうか?

2005/12/28 02:34:52
id:n_kusano No.3

n_kusano回答回数48ベストアンサー獲得回数12005/12/28 22:13:24

ポイント22pt

2で回答したものです。説明不足ですみませんでした。

<?php

echo $_SERVER[’HTTP_REFERER’];

?>

とすると、リンク元(遷移元)のURLを表示します。

例えば、ページA→ページBと遷移した場合、ページBではページAのURLを取得できます。もしページAをローカルコピーし改ざんしてページBに遷移した場合、$_SERVER[’HTTP_REFERER’]はページAのURLではありません。遷移元のURLが限定できるのであれば、もしリファラーの値が限定したURL以外であれば受け付けないようにする、というのはどうでしょうか?

if ($_SERVER[’HTTP_REFERER’] != ’http://...’) などとして。

id:esecua

回答ありがとうございます。

2005/12/30 13:12:14
  • id:nisyu
    リファラーはブラウザが送っているものですので、フォームと同様に改ざんできてしまいます。セッション変数がいいと思います。
  • id:nisyu
    と、「おとなり質問」を辿ると、はるか昔の質問に遭遇してしまうわけですな。笑。

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

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

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

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