PCゲーマーのWebデザイン備忘録

PCゲーマーのWebデザイン備忘録。東京都内でWEBデザイナーとして働いています。Webデザインやゲームに関することをブログに書いていきます

【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();

セッションファイルを呼び出し代入したと(これはメール送信に使われます)、セッションファイルの配列の中身を空っぽにします。

その上でセッションファイルに代入された情報を破棄。ここでもし、クッキーの中にセッションファイルのデータが残っていたときに、クッキーの有効期限をマイナスにしてあげる。これでクッキーは消滅します。