プロが教える店舗&オフィスのセキュリティ対策術

PHPのメールフォーム(お問合せフォーム)について

今、PHPでメールフォームを作っています。
(よくあるお問合せフォームです。)

書籍やウェブサイトを参考に
見よう見まねで、一通り作ってみました。

ただ、メールフォームを作るのは初めてなので
自分が作ったのものが公開できるレベルなのか
(一般的なレベルに達しているかどうか)不安な感じです。

そこで、メールフォームについて詳しい方いらっしゃいましたら
メールフォームを作る際に、押さえておくポイントについて
箇条書きで構いませんので、簡単に教えていただけないでしょうか。

例えばこんな感じで↓
-------------------
・データの受け渡しはセッションを使う
・入力されたデータは必ずチェック
・Nullバイト攻撃対策をする
・セッションハイジャック対策する
--------------------


■私が作ってみたメールフォームの入力項目は下記のとおりです。
-------------------
<入力項目>
名前
電話番号
郵便番号
住所
メールアドレス
メールアドレス(確認のため2回入力)
お問合せ内容
-------------------

■流れとしては下記のとおりです。
-------------------
1)入力画面

2)確認画面

3)完了画面

4-1)サイト運営者に入力内容が記載されたメールを送信。
4-2)ユーザーにサンクスメールを送信。
-------------------

A 回答 (2件)

XSS対策。


例えば名前の箇所に

" /><script>alert('hoge');</script>

と入れて確認画面に行くか、エラーで戻ってきた時に、JavaScriptのアラートでhogeと表示されたら対策されていないことになります。

XSS対策しないとどういう事が起こるかは参照URLを見て下さい。

http://ja.wikipedia.org/wiki/%E3%82%AF%E3%83%AD% …

参考URL:http://e-words.jp/w/XSS.html
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。
XSS対策ですね。
確かに必要ですね。
実装しようと思います。

お礼日時:2011/11/08 14:41

2,3の間に4が入るほうが現実的な気がします。



とりあえず、いろいろ気にしてるみたいですが・・・
あとは実際に書いてみてからじゃないですかね?

仕様決めを100%事前にやり切れるならアリかもしれないですが、実際作ってみると「この場合どうしよう」ってのは思いのほか出てくるものですよ。

例えば・・・
完了画面から戻るボタン押されたら、確認画面に戻る事になりますが、それを不正なページ遷移とみなして、別ページに飛ばしてしまうのか、もしくは送信済みフラグ持たせて「送信しましたよ」的なメッセージを出して終わらせるのか・・・
パターンはいろいろと出てきますが、業務としてであれば、考えうる限りの仕様は事前に詰めておいた方が後で楽できますが、そうではないのなら思うがままに作ってみたほうが、いろいろな気づきが出てくるかもしれませんよ。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。
最終的には作ったものを業務で使用しようと考えています。

確かにさまざまなケースを想定して、それに対してどうするか、
いろいろ試してみたほうが、今後のかてになりそうですね。

とりあえずは、いろいろ試してみようと思います。

お礼日時:2011/11/08 14:44

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!