FC2ブログ

お問い合わせフォーラム作成

お問い合わせフォーラム作成

#05 お問合せフォームを作ろう
http://dotinstall.com/lessons/contacts_php_v2/9805

を参考に
投稿フォームを作成

編集するのは index.php

method="POST" action=""
というように
自ふぁいるに飛ばす

<form method="POST" action="">
<p>お名前; <input type="text" name="name" value=""></p>
<p>メールアドレス * :<input type="text" name="email" value=""></p>
<p>内容 * :
<textarea name="memo" cols="40" row="5"></textarea></p>
<p><input type="submit" value="送信"></p>
</form>

とする

そして、
#06 CSRF対策を施そう
http://dotinstall.com/lessons/contacts_php_v2/9806
を参考に
CSRF対策を施す

これはトークンチェック

PHP部分にソースを追加
if($_SERVER['REQUEST_METHOD'] !='POST'){
//投稿前の処理

//CSRF対策
setToken();

}else {
//投稿後の処理
checkToken();
}
という分岐になる

リクエストメソッドがPOSTか、そうでないかで分岐している

CSRF対策は
setToken()という function.php で作成するユーザ関数を使う

function setToken(){

//セッショントークンがセットされていないのならセット
if(!isset($_SESSION['token'])){
$_SESSION['token'] = sha1(uniqid(mt_rand(),true));
}
}


tokenが空、もしくはtoken の値が違うなら
エラーをだして終了
function checkToken(){
if(empty($_POST['token']) || $_POST['token'] != $_SESSION['token']){
echo "不正処理です";
exit;
}
スポンサーサイト



テーマ : プログラミング
ジャンル : コンピュータ

コメント

非公開コメント

最新記事
検索フォーム
GREEハコニワ攻略サイト
リンク
カテゴリ
月別アーカイブ
フリーエリア
最新記事
FXプライムレート
最新コメント
最新トラックバック