PHP限制页面只能在微信自带浏览器访问以及破解方法
在做微信公众平台的时候,为了防止自己辛辛苦苦做的webapp被人copy,我们都想限制程序只能在微信浏览。下面是PHP限制页面只能在微信自带浏览器访问的代码。
<!--?php <br ?--> $useragent = $_SERVER['HTTP_USER_AGENT'];
if (strpos($useragent, 'MicroMessenger') === false) {
echo " 非微信浏览器禁止访问";
} else {
echo "微信浏览器允许访问";
}
上面这个代码还不完善,Windows phone的微信就不能用了,于是修改下:
<!--?php <br ?--> $useragent = addslashes($_SERVER['HTTP_USER_AGENT']);
if(strpos($useragent, 'MicroMessenger') === false && strpos($useragent, 'Windows Phone') === false ){
echo " 非微信浏览器禁止访问";
}else{
echo "微信浏览器允许访问";
}
塞班系统我就没测试了,都没落了。大家可以通过获取 HTTP_USER_AGEN,判断。
但是你觉得上面的方法能阻止别人去偷窃你的界面,你就错了,只要伪造一下HTTP_USER_AGEN还是能正常访问。
在谷歌浏览器上面装个User-Agent Switcher,还是能随便访问。于是我还想到用JS来判断是不是手机访问,但是只要浏览器禁止JS运行,还是能正常访问。。不过或许这样能难到一些新手吧。