关于备案不关站的一些思路

ICP备案不关站的一点思路,代码用PHP编写,适用于单入口的项目(如WordPress、ThinkPHP等),添加到index.php最顶部,并且做一个供备案审核的静态页面ICP.html放在网站根目录。

效果:

1.https访问全部放行(http可用的情况下,如果你的http是自动跳https,那取消此项,管局默认检查http,http可以访问的情况下不会检查https)

2.User-Agent检测,管局不可能用微信或者偏门的浏览器检查网站,所以可以放行部分UA,如果你有SEO需求,放行搜索引擎爬虫。也可以对Android和iOS放行,不过有些云服务商不推荐。

3.带参数放行。管局一般只检查主页,主页显示静态页面,没有可点击的链接。如果URL带有效参数,全部放行。

function is_https() {
    if ( !empty($_SERVER['HTTPS']) && strtolower($_SERVER['HTTPS']) !== 'off') {//IIS
        return true;
    } elseif ( isset($_SERVER['HTTP_X_FORWARDED_PROTO']) && $_SERVER['HTTP_X_FORWARDED_PROTO'] === 'https' ) {
        return true;
    } elseif ( !empty($_SERVER['HTTP_FRONT_END_HTTPS']) && strtolower($_SERVER['HTTP_FRONT_END_HTTPS']) !== 'off') {
        return true;
    }elseif ($_SERVER['SERVER_PORT'] == 443) {//端口号判断
        return true;
    }elseif (!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == 1){//Apache
        return true;
    }
    return false;
}
if (!is_https()) {
    if (isset($_SERVER['HTTP_USER_AGENT'])) {
		$userAgent = strtolower($_SERVER['HTTP_USER_AGENT']);
		if ((!preg_match("/.+xiaoshijie/", $userAgent)) && (!preg_match("/.+micromessenger.+/", $userAgent))) {
			if (is_array($_GET)) {
				if (!(isset($_GET["p"]) || isset($_GET["page_id"]) || isset($_GET["beian"]) || isset($_GET["action"]) || isset($_GET["rest_route"]) || isset($_GET["author"]) || isset($_GET["cat"]) || isset($_GET["s"]))) {
					$string = file_get_contents('ICP.html');
					echo $string;
					exit();
				}
			}
		}
	}
}