在不关站的情况下对网站备案的方法

解决思路:

我通过一些条件筛选出正常的访客,其他没有通过筛选的均视为审核人员在访问,直接返回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");

你可能感兴趣的:(服务器,PHP,网站备案)