サイトを長いこと運営していると、自分のサイトのURLが荒らしサイトの掲示板などに載せられてしまうことがあります。そこから荒らしが来てサイトが荒れてしまうこともしばしばあります。そんな時の応急処置に便利なカスタムブロックを紹介します。
case 1 : 荒らしサイトから来たユーザーを荒らしサイトに帰す。
コンテンツのタイプ :: PHPコード
$arasi = "http://ime.nu/|http://aaa.jp/"; //↑ リンクを無効にするサイトのURLを | で区切る $arasi = "/(".str_replace("/","\/", quotemeta($arasi) ).")/i"; if(preg_match($arasi,$_SERVER['HTTP_REFERER'])){ sleep(10);//10秒待ってね header("Location: ".$_SERVER['HTTP_REFERER']); //お客様、お帰り下さい。 exit(); }
このコードはリファラを取得して、もし荒らしサイトのリファラを含んでいれば、その荒らしサイトに逆転送してしまうというものです。なお、何回も連続してアクセスされるとDOS攻撃に成ってしまうかも知れませんので、アクセスすると10秒間処理を停止します。
case 2 : NotFoundを偽装
コンテンツのタイプ :: PHPコード
$arasi = "http://ime.nu/|http://aaa.jp/"; //↑ リンクを無効にするサイトのURLを | で区切る $arasi = "/(".str_replace("/","\/", quotemeta($arasi) ).")/i"; if(preg_match($arasi,$_SERVER['HTTP_REFERER'])){ sleep(10);//10秒待ってね header("HTTP/1.0 404 Not Found"); //ページが見つかりません exit(); }
リファラを取得して、荒らしサイトのものであればNotFoundエラーを表示します。大抵404エラーが出れば2回とそのサイトを見ることはありませんので、荒らしを諦めさせるには多少の効果があるでしょう。