【PHP】 メールフォームを作る④
引き続きメールフォームを作っていきます。今回も引き続きセキュリティ面を強化していきます。
今回は、メールを送信した後のセキュリティを編集していきます。
【PHP】 メールフォームの作り方③ - PCゲーマーのWebデザイン備忘録
thanks.php で、メールを送った後に、もう一度メールフォームに戻ったときに、index.php がセッションファイルを受けとってしまうので、メールフォームには前回入力された情報が表示されてしまいます。
あと、クッキーに入力されたデータが残っていてしまうので、メールを送信した後にクッキーが消滅してしまうように、セキュリティを改善します。
thanks.php
<?php require_once dirname(__FILE__).'/init.php'; $name=$_SESSION['name']; $email=$_SESSION['email']; $message=$_SESSION['message']; $_SESSION = array(); unset($_SESSION['name']); unset($_SESSION['email']); unset($_SESSION['message']); if( isset($_COOKIE[ session_name()])){ setcookie(session_name(),'',time()-42000,'/'); } session_destroy();
セッションファイルを呼び出し代入したと(これはメール送信に使われます)、セッションファイルの配列の中身を空っぽにします。
その上でセッションファイルに代入された情報を破棄。ここでもし、クッキーの中にセッションファイルのデータが残っていたときに、クッキーの有効期限をマイナスにしてあげる。これでクッキーは消滅します。