[PHP]Cookieによる連続投稿制限

PHPにて、Cookieを発行し、POSTを制限する方法です。

まず、ブラウザがCookieを発行可能かどうかチェックします。

if($_COOKIE['testCoockie']){//Cookieチェック
$cookie = 1;
}else{
if(setcookie("testCoockie","テスト",mktime(0,0,0,12,31,2050))){
$cookie = 1;
}else{
$cookie = 0;
}
}

次に、Cookieをセットして連続投稿を阻止します。

$back = $_SERVER['HTTP_REFERER']; //POST元のURL
if($cookie==1){//Cookieが有効ならPOST処理
if($_COOKIE['postcookie']){//連続投稿不可
$error = 1;
echo "連続して投稿できません。少し待ってから投稿してください。<br><a href={$back}>戻る</a>";
}else{//連続投稿でなければ実行
setcookie("postcookie","投稿管理",time()+30); //クッキーセットtime()+秒数で設定
header("Location: ".$back);
}
}
if($cookie==0){
$error = 1;
echo "Cookieが有効でなければ投稿できません!<br><a href={$back}>戻る</a>";
}

以上です。



シェアする

  • このエントリーをはてなブックマークに追加

フォローする