質問: PHP5のセキュリティの質問です。 ユーザーに文章を書いてもらって、それをDBに保存するシステムを作りたいです。(掲示板・ブログ等)write.phpにフォームがあってそこでユーザーに文章を書いてもらい、そのデータをPOSTでsql.phpに送ってDBに登録するとします。 とある書籍に以下のような事が書いてありました。 「悪意のあるクラッカーがwrite.phpを介さないで別のドメインから直接sql.phpにデータを送り続けるような事があるので、それを防がなくてはならない」 これを防ぐにはどのようなセキュリティ対策を施せばいいでしょうか。XSSやインジェンクションについてはきちんと対策すると仮定して、上記のセキュリティ対策のみ教えていただきたいと思います。 POSTされたデータがwrite.phpから送られたかどうかを判別すればいいんだと思うのですが、偽装するのも簡単なような気がします。どなたかよろしくお願い致します。
回答: こういうことがあるということです。 対策としては ・Cookieを使ったセッションの追跡 ・リファラーで発信元をチェック ・チェックコードを利用 あげられてます。 実際問題としては、 セッションIDににたチェック用のコードをPOSTデータに埋め込む というやり方が多いと思います。 5分以内しか有効でないチェックコード(文字列)です。 そのチェックコードがあっていない場合は、5分以上たったか 外部から不正にアクセスされたと判断します。