条件指定アクセス拒否(ステータスコードを返す)
<?php $arr = array( // アクセス拒否条件 // 特定ユーザーエージェント拒否の場合 array($_SERVER["HTTP_USER_AGENT"], "DoCoMo"), array($_SERVER["HTTP_USER_AGENT"], "KDDI"), array($_SERVER["HTTP_USER_AGENT"], "Softbank"), // 特定IPアドレス拒否の場合 array($_SERVER["REMOTE_ADDR"], "123.456.789.123"), // 特定リンク元拒否の場合 array($_SERVER["HTTP_REFERER"], "https://www.webings.net/"), ); for($i = 0 ; $i < count($arr) ; $i++) { $pattern = $arr[$i][1]; $pattern = preg_replace("/\//", "\/", $pattern); if(preg_match("/$pattern/", $arr[$i][0])) { header("HTTP/1.1 403 Forbidden"); // ステータスコード403を返す場合 // header("HTTP/1.1 404 Not Found"); // ステータスコード404を返す場合 // header("HTTP/1.1 500 Internal Server Error"); // ステータスコード500を返す場合 exit; } } echo ' <html> <head> <title>リダイレクト(条件指定)</title> </head> <body> ようこそ!!<br> </body> </html> '; ?>
〔 実行する 〕