PHP限制页面只能在微信自带浏览器访问的代码


Posted in PHP onJanuary 15, 2014

为了防止自己辛辛苦苦做的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 " 非微信浏览器禁止访问www.buyerinfo.biz"; 
}else{ 
echo "微信浏览器允许访问www.buyerinfo.biz"; 
}

大家可以通过获取 HTTP_USER_AGEN,判断。

但是你觉得上面的方法能阻止别人去偷窃你的界面,你就错了,只要伪造一下HTTP_USER_AGEN还是能正常访问。
在谷歌浏览器上面装个User-Agent Switcher,还是能随便访问。于是我还想到用JS来判断是不是手机访问,但是只要浏览器禁止JS运行,还是能正常访问。。不过或许这样能难到一些新手吧。

PHP 相关文章推荐
mayfish 数据入库验证代码
Apr 30 PHP
is_uploaded_file函数引发的不能上传文件问题
Oct 29 PHP
PHP SPL标准库之SplFixedArray使用实例
May 12 PHP
thinkphp微信开发(消息加密解密)
Dec 02 PHP
PHP模板引擎Smarty内建函数section,sectionelse用法详解
Apr 11 PHP
thinkphp,onethink和thinkox中验证码不显示的解决方法分析
Jun 06 PHP
php基于curl实现随机ip地址抓取内容的方法
Oct 11 PHP
使用Codeigniter重写insert的方法(推荐)
Mar 23 PHP
tp5(thinkPHP5)框架数据库Db增删改查常见操作总结
Jan 10 PHP
PHP精确到毫秒秒杀倒计时实例详解
Mar 14 PHP
解决php用mysql方式连接数据库出现Deprecated报错问题
Dec 25 PHP
laravel使用数据库测试注意事项
Apr 10 PHP
使用PHP备份MYSQL数据的多种方法
Jan 15 #PHP
PHP编程风格规范分享
Jan 15 #PHP
php object转数组示例
Jan 15 #PHP
windows下PHP_intl.dll正确配置方法(apache2.2+php5.3.5)
Jan 14 #PHP
PHP类继承 extends使用介绍
Jan 14 #PHP
那些年我们错过的魔术方法(Magic Methods)
Jan 14 #PHP
PHP mail()函数使用及配置方法
Jan 14 #PHP
You might like
PHP 数据库树的遍历方法
2009/02/06 PHP
php微信公众平台开发类实例
2015/04/01 PHP
PHP+Ajax实现的无刷新分页功能详解【附demo源码下载】
2017/07/03 PHP
tp框架(thinkPHP)实现三次登陆密码错误之后锁定账号功能示例
2018/05/24 PHP
跨浏览器的 mouseenter mouseleave 以及 compareDocumentPosition的使用说明
2010/05/04 Javascript
密码强度检测效果实现原理与代码
2013/01/04 Javascript
自定义右键属性覆盖浏览器默认右键行为实现代码
2013/02/02 Javascript
一个php+js实时显示时间问题
2015/10/12 Javascript
javascript常见数字进制转换实例分析
2016/04/21 Javascript
JavaScript原生节点操作小结
2017/01/17 Javascript
javascript实现数据双向绑定的三种方式小结
2017/03/09 Javascript
Vue2.0实现将页面中表格数据导出excel的实例
2017/08/09 Javascript
nodejs Assert中equal(),strictEqual(),deepEqual(),strictDeepEqual()比较
2017/09/18 NodeJs
浅谈Vue数据绑定的原理
2018/01/08 Javascript
bootstrap下拉分页样式 带跳转页码
2018/12/29 Javascript
基于Node.js搭建hexo博客过程详解
2019/06/25 Javascript
vuex管理状态 刷新页面保持不被清空的解决方案
2019/11/11 Javascript
JS数组方法shift()、unshift()用法实例分析
2020/01/18 Javascript
Python中动态获取对象的属性和方法的教程
2015/04/09 Python
将Python代码打包为jar软件的简单方法
2015/08/04 Python
python实现多线程的两种方式
2016/05/22 Python
使用Python对Csv文件操作实例代码
2017/05/12 Python
Python使用ctypes调用C/C++的方法
2019/01/29 Python
简单了解Python3里的一些新特性
2019/07/13 Python
python绘制无向图度分布曲线示例
2019/11/22 Python
python numpy实现rolling滚动案例
2020/06/08 Python
Python2.6版本pip安装步骤解析
2020/08/17 Python
CSS3 完美实现圆角效果
2009/07/13 HTML / CSS
EMU Australia澳大利亚官网:澳大利亚本土雪地靴品牌
2019/07/24 全球购物
Ben Sherman官方网站:英国男装品牌
2019/10/22 全球购物
高校毕业生自我鉴定
2013/10/27 职场文书
维护民族团结演讲稿
2014/08/27 职场文书
2015年收银工作总结范文
2015/04/01 职场文书
办公室日常管理制度
2015/08/04 职场文书
Matlab如何实现矩阵复制扩充
2021/06/02 Python
Vue深入理解插槽slot的使用
2022/08/05 Vue.js