条件指定アクセス拒否(ステータスコードを返す)
<?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"], "http://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>
';
?>
〔 実行する 〕