メールフォームのセッションID(トークン)によるセキュリティ

メールフォームのセッションID(トークン)によるセキュリティ

メールフォームを設置すると、自分のメアドを使わずにメールを送れるのでスパムメールやメール攻撃の踏み台になり易いです。
そういう時には、セッションIDを使ってトークンとして使う方法があります。

トークンは「カケラ、券、切符」という意味です。識別するためのIDですね。
セッションは「集まり、集会」という意味です。ブラウザはページを開いてから閉じるまで、同一のセッションIDを持っています。

HTMLのformでは、action先が同じドメイン内でなくてもいいのでローカルHTMLファイルでも送信出来てしまいます。ループで大量にSUBMITされる危険性があります。
それを防ぐためには、formに以下の様な項目を追加します。

そして、POST先には以下のような記述をします。

またGoogle Chromeではブラウザを閉じてもセッションIDが維持されてしまう!ので、明示的にsession_regenerate_id(TRUE)でセッションIDを更新します。
以上のようにすれば、外部からのPOSTは防げます(CSRF対策にもなる)