[PHP]自分のサイト以外からのPOSTを制限する方法

自分以外のサイトからフォームデータをPOSTされると、サーバー負荷が高くなるだけでなく、Dos攻撃の手段としても使用されかねません。
そこでPOSTを制限する方法です。

— ソースここから —

<?php
//リンク元(POST元)の判定
$host = $_SERVER['HTTP_REFERER'];
$str = parse_url($host);
if(stristr($str['host'], "hoge.com")){
$check = "ok";
}
if($check=="ok"){
//ここにPOST後の処理を記述
}
?>

— ソースここまで —

$_SERVER[‘HTTP_REFERER’]でリンク元を取得し、parse_urlでドメインのみをとってます。
そして、ドメインがhoge.comのときのみ、$check = okにし、POST処理を可能にしています。

似たような方法で、以前に[PHP]特定ドメインからの訪問者だけに表示するも書いてます。


シェアする

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

フォローする