我想确保我的网站用户仅使用chrome和firefox。 我的托管公司报告说,空用户代理附带的用户对我的网站造成了不必要的打击。 这不是DOS攻击。
我只想用空用户代理阻止所有用户。
当前代码检查并确保只有Firefox和Chrome浏览器 可以访问我的网站。
我的问题是如何检查用户代理为空的用户。 这是我的检查。是吗?
//check if useragent is empty
if($agent==''){
echo "user agent is empty. access block";
}
以下是到目前为止的代码,可确保仅允许使用Firefox和chrome浏览器
$arr_browsers = ["Firefox", "Chrome"];
$agent = $_SERVER['HTTP_USER_AGENT'];
$user_browser = '';
foreach ($arr_browsers as $browser) {
if (strpos($agent, $browser) !== false) {
$user_browser = $browser;
break;
}
}
//check if the browser is not in array
if ( ! ( in_array($user_browser, $arr_browsers) ) ) {
echo "you browser are not allowed. This work fine";
}
答案 0 :(得分:0)
您对空用户代理的测试对我来说很好。
在第二个代码中,无需检查$user_agent
是否在数组中。如果不是用来初始化它的空字符串,则它必须是数组中的值之一。所以只要写
if ($user_browser == '') {
echo "your browser is not allowed";
}