解决思路:
我通过一些条件筛选出正常的访客,其他没有通过筛选的均视为审核人员在访问,直接返回404。
以下是PHP代码(其他语言的网站可以参考一下筛选逻辑)
//判断是否需要返回404
$host = isset($_SERVER['HTTP_HOST']) ? $_SERVER['HTTP_HOST'] : '';
$referer = isset($_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] : '';
$ua = isset($_SERVER['HTTP_USER_AGENT']) ? $_SERVER['HTTP_USER_AGENT'] : '';
try {
if (stripos($ua, "spider") > 0) {
//放行,搜索引擎蜘蛛
throw new Exception();
}
if ($host != "www.xxx.com" && $host != "xxx.com") {
//放行,不是基本域名(若你的网站存在其他的一级域名,这样就可以保证除了www及顶级外其他的域名可以正常打开)
throw new Exception();
}
if (stripos($ua, "windows") === false) {
//放行,不是windows系统(猜测审核人员是使用的windows系统进行的审核)
throw new Exception();
}
if (stripos($referer, "baidu") > 0 || stripos($referer, "so.com") > 0 || stripos($referer, "sogou") > 0) {
//放行,来自搜索引擎
throw new Exception();
}
} catch (Exception $e) {
//正常显示的内容
}
//执行到这里的话那就有可能是审核人员在访问,所以显示空白内容
header('HTTP/1.1 404 Not Found');
header("status: 404 Not Found");