PHPでお問い合わせメールフォームを作る際に、最低限必要なセキュリティ要件を教えてください。


私はPHPに関して、基礎的なことは分かりますが、複雑なプログラミングの経験はありません。
今回、必要に迫られ、簡単なメールフォームを作りことになりました。

すでに出来上がっているのですが、このままリリースしていいのか、少し不安です。
セキュリティに関することを何も施していません。

というより、最低限どういったことに配慮すべきなのかが、分かりません。

今はフォームよりPOSTされたものを、文字エンコードだけ行って、そのままsend_mailに渡しています。

最低限注意すべき点、実装すべき点などを教えてください。

回答の条件
  • 1人5回まで
  • 13歳以上
  • 登録:2012/04/03 10:04:59
  • 終了:2012/04/10 10:05:03

回答(1件)

id:mario-16 No.1

蝸牛角上争何事回答回数219ベストアンサー獲得回数212012/04/09 14:39:17

ポイント200pt

どのような環境で実行されるのかが分かりませんので一般的なお話しにとどまることをご容赦ください。

・SPAMメールなどの踏み台にされる
なにがしかのプログラムから自動でリクエストを出すような攻撃をされるかもしれません。
短い時間での同一のIPアドレスからのリクエストは処理をしないような工夫が必要だと存じます。

・サーバが抱える個人情報を盗まれる
メールを出すまでにDBのアクセスがあるような場合にはSQLインジェクションの考慮が必要になると存じます。
SQLインジェクションにおいてはDBの改竄の可能性もあります。
メール内容の確認画面のようなものを表示する場合にはクロスサイトスクりプティングの危険性も考えねばいけません。
クッキーに個人情報を抱えていたりするとそれを抜かれてしまう可能性があります。

・サーバの脆弱性をついた攻撃をされる
メールのプログラムだけではなく実行環境も合わせたお話しになりますがPHPやApacheにも脆弱性がありますのでそう言ったことにも気を使う必要があるかと存じます。

具体性に欠けるきらいがありますが何かの御参考になれば幸いです。
以下のようなサイトが御参考になるかと思いましたので合わせてご確認ください。
http://kazuizm.com/2007/01/05-222959.php
http://note.openvista.jp/2008/php-security-memo/
http://blog.webcreativepark.net/2008/03/28-234415.html

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

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

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

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

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