使用PHP和JavaScript判断请求是否来自微信内浏览器


Posted in PHP onAugust 18, 2015

 微信浏览器的HTTP_USER_AGENT

在iPhone下,返回

Mozilla/5.0 (iPhone; CPU iPhone OS 5_1 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Mobile/9B176 MicroMessenger/4.3.2)

在Android下,返回

Mozilla/5.0 (Linux; U; Android 2.3.6; zh-cn; GT-S5660 Build/GINGERBREAD) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1 MicroMessenger/4.5.255)

不难发现微信浏览器为 MicroMessenger ,并且有版本号,也可以判断手机类型为iPhone还是Android

如果要做盗链

if(strpos($_SERVER["HTTP_USER_AGENT"],"MicroMessenger"))
  echo "Welcome to wechat word";
else
  echo "http/1.1 401 Unauthorized";

public function is_weixin(){ 
if ( strpos($_SERVER['HTTP_USER_AGENT'], 'MicroMessenger') !== false ) {
 return true;
}
 return false;
}    
if($this->is_weixin()){
 }else{
 echo "请使用微信访问本网址。";
} 




js判断
function is_weixin(){
  var ua = navigator.userAgent.toLowerCase();
  if(ua.match(/MicroMessenger/i)=="micromessenger") {
    return true;
   } else {
    return false;
  }
}

当在手机端判断到微信浏览器之后,可以使用微信的分享js脚本对其进行处理,大家可以参考微信的官方文档,这里提供一个案例,了解下大概流程和思路
 

<script type="text/javascript" src="/jslib/wx_share.js"></script>
    <script>
      //分享链接时给其重写分享的标题、缩略图、链接、简介等
      var imgUrl = '<?php echo base_url('/images/per.png'); ?>';
      var lineLink = 'http://www.baidu.com/';
      var shareTitle = '我来给你送钱了';
      var descContent = '折射率,你知道是啥?';
      var timeline_title = 'timeline_title';
      var appid = '';
    </script>
    <script>
      function onBridgeReady() {
        WeixinJSBridge.call('showOptionMenu');
      }
    </script>
    <script>
      if (typeof WeixinJSBridge == "undefined") {
        if (document.addEventListener) {
          document.addEventListener('WeixinJSBridgeReady', onBridgeReady, false);
        } else if (document.attachEvent) {
          document.attachEvent('WeixinJSBridgeReady', onBridgeReady);
          document.attachEvent('onWeixinJSBridgeReady', onBridgeReady);
        }
      } else {
        onBridgeReady();
      }
    </script>
</head>

        

PHP 相关文章推荐
PHP:风雨欲来 路在何方?
Oct 09 PHP
PHP树的代码,可以嵌套任意层
Oct 09 PHP
简单示例AJAX结合PHP代码实现登录效果代码
Jul 25 PHP
如何用phpmyadmin设置mysql数据库用户的权限
Jan 09 PHP
phpExcel导出大量数据出现内存溢出错误的解决方法
Feb 28 PHP
PHP中mb_convert_encoding与iconv函数的深入解析
Jun 21 PHP
zf框架的registry(注册表)使用示例
Mar 13 PHP
php使用PDO操作MySQL数据库实例
Dec 30 PHP
php生成过去100年下拉列表的方法
Jul 20 PHP
分享php多功能图片处理类
May 15 PHP
PHP数据库处理封装类实例
Dec 24 PHP
thinkPHP框架动态配置用法实例分析
Jun 14 PHP
PHP的命令行命令使用指南
Aug 18 #PHP
使用PHP生成图片的缩略图的方法
Aug 18 #PHP
Nginx服务器上安装并配置PHPMyAdmin的教程
Aug 18 #PHP
详解PHP中的mb_detect_encoding函数使用方法
Aug 18 #PHP
深入讲解PHP Session及如何保持其不过期的方法
Aug 18 #PHP
php微信公众平台开发之获取用户基本信息
Aug 17 #PHP
PHP添加图片水印、压缩、剪切的封装类
Aug 17 #PHP
You might like
不用iconv库的gb2312与utf-8的互换函数
2006/10/09 PHP
洪恩在线成语词典小偷程序php版
2012/04/20 PHP
php动态实现表格跨行跨列实现代码
2012/11/06 PHP
PHP中加速、缓存扩展的区别和作用详解(eAccelerator、memcached、xcache、APC )
2016/07/09 PHP
Thinkphp3.2简单解决多文件上传只上传一张的问题
2017/09/26 PHP
html读出文本文件内容
2007/01/22 Javascript
js Date自定义函数 延迟脚本执行
2010/03/10 Javascript
JavaScript操作Oracle数据库示例
2015/03/06 Javascript
基于JavaScript代码实现pc与手机之间的跳转
2015/12/23 Javascript
使用jQuery UI库开发Web界面的简单入门指引
2016/04/22 Javascript
正则中的回溯定义与用法分析【JS与java实现】
2016/12/27 Javascript
js实现背景图自适应窗口大小
2017/01/10 Javascript
jQuery+Ajax实现用户名重名实时检测
2017/06/01 jQuery
nodeJS实现简单网页爬虫功能的实例(分享)
2017/06/08 NodeJs
完美实现js拖拽效果 return false用法详解
2017/07/28 Javascript
JS实现生成由字母与数字组合的随机字符串功能详解
2018/05/25 Javascript
Vue中&quot;This dependency was not found&quot;问题的解决方法
2018/06/19 Javascript
微信小程序获取音频时长与实时获取播放进度问题
2018/08/28 Javascript
vue项目中使用bpmn为节点添加颜色的方法
2020/04/30 Javascript
[29:23]2014 DOTA2国际邀请赛中国区预选赛 LGD-GAMING VS CIS 第一场1
2014/05/23 DOTA
python单链表实现代码实例
2013/11/21 Python
python使用scrapy解析js示例
2014/01/23 Python
Python编程之序列操作实例详解
2017/07/22 Python
pytorch permute维度转换方法
2018/12/14 Python
python按行读取文件并找出其中指定字符串
2019/08/08 Python
Trip.com香港网站:Ctrip携程旗下,全球最大的网上旅游社之一
2016/08/01 全球购物
耐克巴西官方网站:Nike巴西
2016/08/14 全球购物
生物有机护肤品:Aurelia Probiotic Skincare
2018/01/31 全球购物
乌克兰在线药房:Аптека24
2019/10/30 全球购物
仓库理货员岗位职责
2013/12/18 职场文书
《高尔基和他的儿子》教学反思
2014/04/09 职场文书
《去年的树》教学反思
2014/04/11 职场文书
大学生应聘导游自荐信
2014/06/02 职场文书
2014年重阳节活动策划方案书
2014/09/16 职场文书
学习雷锋精神活动总结
2015/02/06 职场文书