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 相关文章推荐
一个阿拉伯数字转中文数字的函数
Oct 09 PHP
两种php调用Java对象的方法
Oct 09 PHP
php下mysql数据库操作类(改自discuz)
Jul 03 PHP
一道关于php变量引用的面试题
Aug 08 PHP
PHP扩展模块Pecl、Pear以及Perl的区别
Apr 09 PHP
php实现文件下载功能的几个代码分享
May 10 PHP
安装ImageMagick出现error while loading shared libraries的解决方法
Sep 23 PHP
[原创]php简单防盗链验证实现方法
Jul 09 PHP
Zend Framework实现自定义过滤器的方法
Dec 09 PHP
CI(CodeIgniter)框架实现图片上传的方法
Mar 24 PHP
php curl获取到json对象并转成数组array的方法
May 31 PHP
php中使用array_filter()函数过滤数组实例讲解
Mar 03 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 Mssql操作简单封装支持存储过程
2009/12/11 PHP
神盾加密解密教程(一)PHP变量可用字符
2014/05/28 PHP
PHP数组函数array_multisort()用法实例分析
2016/04/02 PHP
php+resumablejs实现的分块上传 断点续传功能示例
2017/04/18 PHP
PHP接入支付宝接口失效流程详解
2020/11/10 PHP
jquery ajax请求方式与提示用户正在处理请稍等
2014/09/01 Javascript
jquery实现表单验证并阻止非法提交
2015/07/09 Javascript
Json解析的方法小结
2016/06/22 Javascript
深入浅析JavaScript中的scrollTop
2016/07/11 Javascript
12 款 JS 代码测试必备工具(翻译)
2016/12/13 Javascript
基于Vue2.0的分页组件
2017/03/16 Javascript
Node.js之网络通讯模块实现浅析
2017/04/01 Javascript
JavaScript引用类型之基本包装类型实例分析【Boolean、Number和String】
2018/08/09 Javascript
老生常谈JavaScript获取CSS样式的方法(兼容各浏览器)
2018/09/19 Javascript
详解Next.js页面渲染的优化方案
2019/01/27 Javascript
开发中常用的25个JavaScript单行代码(小结)
2019/06/28 Javascript
layui动态渲染生成左侧3级菜单的方法(根据后台返回数据)
2019/09/23 Javascript
js键盘事件实现人物的行走
2020/01/17 Javascript
javascript实现倒计时效果
2020/02/17 Javascript
Vue中的this.$options.data()和this.$data用法说明
2020/07/26 Javascript
antd vue table跨行合并单元格,并且自定义内容实例
2020/10/28 Javascript
Python下调用Linux的Shell命令的方法
2018/06/12 Python
Python多线程原理与用法详解
2018/08/20 Python
解读python如何实现决策树算法
2018/10/11 Python
Python产生Gnuplot绘图数据的方法
2018/11/09 Python
Python变量作用域LEGB用法解析
2020/02/04 Python
在Anaconda3下使用清华镜像源安装TensorFlow(CPU版)
2020/04/19 Python
python中绕过反爬虫的方法总结
2020/11/25 Python
C#如何进行LDAP用户校验
2012/11/21 面试题
采购部主管岗位职责
2014/01/01 职场文书
任命书格式
2014/06/05 职场文书
文艺演出策划方案
2014/06/07 职场文书
欢度春节标语
2014/07/01 职场文书
就业导师推荐信范文
2015/03/27 职场文书
2015年小学英语教师工作总结
2015/05/12 职场文书
Pytorch反向传播中的细节-计算梯度时的默认累加操作
2021/06/05 Python