【PHP】 メールフォームを作る⑦
引き続きメールフォームを作っていきます。今回も引き続きセキュリティ面を強化していきます。
今回は、index.php にデータが入力された時以外に、check.php、thanks.php に直接アクセスできないようにします。
game-web-design.hatenadiary.com
直接アクセスできないように、index.php に飛ばす。
check.php:
以下でやったように、指定していします。
if(empty($_POST)){
header('Location:http://localhost/mail/index.php');
exit;
}
thanks.php:
isset を使い、変数の中に価が入っているか確かめ、それでフォームからのデータかを判定します。
ここでは $error を使っていますが、$error を使うことで、エラーがあるのにもかかわらずメールが送信されてしまうことも防ぎます。
if(!isset($_SESSION['error'])|| $_SESSION['error']!=false){
header('Location:http://localhost/mail/index.php');
exit;
}
上の php の意味としては
「もし、セッションファイルのエラーの中身が入っていないなら、また、エラーが真でないなら、index.php に飛ばします」と言う意味になります。