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 相关文章推荐
PHP开发中四种查询返回结果分析
Jan 02 PHP
php curl 登录163邮箱并抓取邮箱好友列表的代码(经测试)
Apr 07 PHP
PHP中的session永不过期的解决思路及实现方法分享
Apr 20 PHP
解析php中call_user_func_array的作用
Jun 07 PHP
php日历制作代码分享
Jan 20 PHP
PHP FATAL ERROR: CALL TO UNDEFINED FUNCTION BCMUL()解决办法
May 04 PHP
php实现二进制和文本相互转换的方法
Apr 18 PHP
PHP数学运算与数据处理实例分析
Apr 01 PHP
php通过会话控制实现身份验证实例
Oct 18 PHP
详解thinkphp实现excel数据的导入导出(附完整案例)
Dec 29 PHP
PHP分页显示的方法分析【附PHP通用分页类】
May 10 PHP
Yii框架的路由配置方法分析
Sep 09 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
《DOTA3》开发工作已经开始 《DOTA3》将代替《DOTA2》
2021/03/06 DOTA
PHP文件注释标记及规范小结
2012/04/01 PHP
PHP垃圾回收机制引用计数器概念分析
2013/06/24 PHP
PHP实现单例模式建立数据库连接的方法分析
2020/02/11 PHP
静态的动态续篇之来点XML
2006/08/15 Javascript
JS 无限级 Select效果实现代码(json格式)
2011/08/30 Javascript
基于jquery实现状态限定编辑的代码
2012/02/11 Javascript
jQuery提示插件alertify使用指南
2015/04/21 Javascript
javascript中in运算符用法分析
2015/04/28 Javascript
JS简单随机数生成方法
2016/09/05 Javascript
深入理解AngularJS中的ng-bind-html指令和$sce服务
2016/09/08 Javascript
jquery+Jscex打造游戏力度条
2020/09/12 Javascript
JS使用tofixed与round处理数据四舍五入的区别
2017/10/25 Javascript
JavaScript框架Angular和React深度对比
2017/11/20 Javascript
VueJS 组件参数名命名与组件属性转化问题
2018/12/03 Javascript
微信小程序实现工作时间段选择
2019/02/15 Javascript
node.js基于dgram数据报模块创建UDP服务器和客户端操作示例
2020/02/12 Javascript
如何用JS模拟实现数组的map方法
2020/07/30 Javascript
如何使用JavaScript实现无缝滚动自动播放轮播图效果
2020/08/20 Javascript
解决idea开发遇到javascript动态添加html元素时中文乱码的问题
2020/09/29 Javascript
Python中使用bidict模块双向字典结构的奇技淫巧
2016/07/12 Python
win系统下为Python3.5安装flask-mongoengine 库
2016/12/20 Python
Python正则表达式匹配中文用法示例
2017/01/17 Python
python中的计时器timeit的使用方法
2017/10/20 Python
对python中的pop函数和append函数详解
2018/05/04 Python
Python调用scp向服务器上传文件示例
2019/12/22 Python
OpenCV+python实现实时目标检测功能
2020/06/24 Python
Pycharm及python安装详细教程(图解)
2020/07/31 Python
python遍历路径破解表单的示例
2020/11/21 Python
Django 权限管理(permissions)与用户组(group)详解
2020/11/30 Python
担保书格式及范文
2014/04/01 职场文书
作风建设演讲稿
2014/05/23 职场文书
合作意向书
2014/07/30 职场文书
熟背这些句子,让您的英语口语突飞猛进(135句)
2019/09/06 职场文书
mybatis源码解读之executor包语句处理功能
2022/02/15 Java/Android
mysql数据插入覆盖和时间戳的问题及解决
2022/03/25 MySQL