使用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 db类库进行数据库操作
Mar 19 PHP
php 调用远程url的六种方法小结
Nov 02 PHP
PHP实现的封装验证码类详解
Jun 18 PHP
重新认识php array_merge函数
Aug 31 PHP
php清除和销毁session的方法分析
Mar 19 PHP
PHP实现统计在线人数功能示例
Oct 15 PHP
ThinkPHP实现简单登陆功能
Apr 28 PHP
基于PHP常用文件函数和目录函数整理
Aug 17 PHP
php获取ajax的headers方法与内容实例
Dec 27 PHP
ThinkPHP实现的rsa非对称加密类示例
May 29 PHP
php实例化一个类的具体方法
Sep 19 PHP
Yii框架多语言站点配置方法分析【中文/英文切换站点】
Apr 07 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
Protoss建筑一览
2020/03/14 星际争霸
15个小时----从修改程序到自己些程序
2006/10/09 PHP
第十三节--对象串行化
2006/11/16 PHP
PHP 遍历XP文件夹下所有文件
2008/11/27 PHP
PHP使用strtotime计算两个给定日期之间天数的方法
2015/03/18 PHP
php连接oracle数据库的方法(测试成功)
2016/05/26 PHP
Apache无法自动跳转却显示目录的解决方法
2020/11/30 PHP
PHP通过微信跳转的Code参数获取用户的openid(关键代码)
2016/07/06 PHP
PHP编写daemon process 实例详解
2016/11/13 PHP
Laravel ORM 数据model操作教程
2019/10/21 PHP
prototype Element学习笔记(篇一)
2008/10/26 Javascript
jquery tab插件制作实现代码
2010/06/22 Javascript
JavaScript中使用Substring删除字符串最后一个字符
2013/11/03 Javascript
JS关键字球状旋转效果的实例代码
2013/11/29 Javascript
javascript屏蔽右键代码
2014/05/15 Javascript
jQuery+AJAX实现遮罩层登录验证界面(附源码)
2020/09/13 Javascript
connection reset by peer问题总结及解决方案
2016/10/21 Javascript
在微信小程序里使用watch和computed的方法
2018/08/02 Javascript
微信小程序地图(map)组件点击(tap)获取经纬度的方法
2019/01/10 Javascript
vue-cli 为项目设置别名的方法
2019/10/15 Javascript
vue跳转同一个组件,参数不同,页面接收值只接收一次的解决方法
2019/11/05 Javascript
vue双击事件2.0事件监听(点击-双击-鼠标事件)和事件修饰符操作
2020/07/27 Javascript
[04:03]DOTA2肉山黑名单梦之声 风暴之灵中文配音鉴赏
2013/07/03 DOTA
[01:10:27]DOTA2-DPC中国联赛正赛 SAG vs XG BO3 第二场 3月5日
2021/03/11 DOTA
python 成功引入包但无法正常调用的解决
2020/03/09 Python
解决Opencv+Python cv2.imshow闪退问题
2020/04/24 Python
PyCharm 2020.2 安装详细教程
2020/09/25 Python
俄罗斯便宜的在线服装商店:GroupPrice
2020/04/10 全球购物
新电JAVA笔试题目
2014/08/31 面试题
中专毕业个人的自荐信格式
2013/09/21 职场文书
怎样填写就业意向
2014/04/02 职场文书
奥林匹克的口号
2014/06/13 职场文书
公司合作意向书范文
2014/07/30 职场文书
教师师德考核自我评价
2014/09/13 职场文书
践行三严三实心得体会
2014/10/13 职场文书
销售会议开幕词
2016/03/04 职场文书