使用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 相关文章推荐
福利彩票幸运号码自动生成器
Oct 09 PHP
php session_start()关于Cannot send session cache limiter - headers already sent错误解决方法
Nov 27 PHP
Php Mssql操作简单封装支持存储过程
Dec 11 PHP
PHP 使用header函数设置HTTP头的示例解析 表头
Jun 17 PHP
下拉列表多级联动dropDownList示例代码
Jun 27 PHP
php导出csv数据在浏览器中输出提供下载或保存到文件的示例
Apr 24 PHP
ThinkPHP3.1.3版本新特性概述
Jun 19 PHP
将CMYK颜色值和RGB颜色相互转换的PHP代码
Jul 28 PHP
PHP中开启gzip压缩的2种方法
Jan 31 PHP
php中final关键字用法分析
Dec 07 PHP
PHPExcel导出2003和2007的excel文档功能示例
Jan 04 PHP
PHP实现QQ、微信和支付宝三合一收款码实例代码
Feb 19 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
PHP 批量更新网页内容实现代码
2010/01/05 PHP
PHP正则提取不包含指定网址的图片地址的例子
2014/04/21 PHP
php中 $$str 中 &quot;$$&quot; 的详解
2015/07/06 PHP
thinkPHP框架中执行事务的方法示例
2018/05/31 PHP
php如何实现数据库的备份和恢复
2020/11/30 PHP
Javascript 构造函数 实例分析
2008/11/26 Javascript
js获取元素到文档区域document的(横向、纵向)坐标的两种方法
2013/05/17 Javascript
使用jQuery解决IE与FireFox下createElement方法的差异
2013/11/14 Javascript
鼠标移到div,浮层显示明细,弹出层与div的上边距左边距重合(示例代码)
2013/12/14 Javascript
jQuery常用操作方法及常用函数总结
2014/06/19 Javascript
javascript函数特点实例分析
2015/05/14 Javascript
JavaScript类型系统之基本数据类型与包装类型
2016/01/06 Javascript
js console.log打印对像与数组用法详解
2016/01/21 Javascript
JavaScript排序算法动画演示效果的实现方法
2016/10/18 Javascript
AngularJS 仿微信图片手势缩放的实例
2017/09/28 Javascript
js 判断一个数字是不是2的n次方幂的实例
2017/11/26 Javascript
vue实现城市列表选择功能
2018/07/16 Javascript
mpvue中使用flyjs全局拦截的实现代码
2018/09/13 Javascript
Vue.js项目实战之多语种网站的功能实现(租车)
2019/08/07 Javascript
JS实现压缩上传图片base64长度功能
2019/12/03 Javascript
微信小程序地图绘制线段并且测量(实例代码)
2020/01/02 Javascript
vue+elementUi 实现密码显示/隐藏+小图标变化功能
2020/01/18 Javascript
解决vue字符串换行问题(绝对管用)
2020/08/06 Javascript
vue中使用router全局守卫实现页面拦截的示例
2020/10/23 Javascript
vue自定义组件实现双向绑定
2021/01/13 Vue.js
总结Python编程中函数的使用要点
2016/03/20 Python
Python PyQt5实现的简易计算器功能示例
2017/08/23 Python
python pygame实现滚动横版射击游戏城市之战
2019/11/25 Python
python中如何使用虚拟环境
2020/10/14 Python
详解python的变量缓存机制
2021/01/24 Python
美国最大的袜子制造商和零售商:Renfro Socks
2017/09/03 全球购物
高中生的自我鉴定范文
2014/01/24 职场文书
预防传染病方案
2014/06/14 职场文书
小学国旗下的演讲稿
2014/08/28 职场文书
主婚人致辞精选
2015/07/28 职场文书
《巫师》是美食游戏?CDPR10月将推出《巫师》官方食谱
2022/04/03 其他游戏