使用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 相关文章推荐
php5 图片验证码实现代码
Dec 11 PHP
php自动加载的两种实现方法
Jun 21 PHP
简单的cookie计数器实现源码
Jun 07 PHP
使用PHP求两个文件的相对路径
Jun 20 PHP
php实现两表合并成新表并且有序排列的方法
Dec 05 PHP
PHP获取数组最大值下标的方法
May 12 PHP
php ucwords() 函数将字符串中每个单词的首字符转换为大写(实现代码)
May 12 PHP
Yii2中关联查询简单用法示例
Aug 10 PHP
php实现的pdo公共类定义与用法示例
Jul 19 PHP
用PHP做了一个领取优惠券活动的示例代码
Jul 05 PHP
使用composer命令加载vendor中的第三方类库 的方法
Jul 09 PHP
Smarty缓存机制实例详解【三种缓存方式】
Jul 20 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
怎么样可以把 phpinfo()屏蔽掉?
2006/11/24 PHP
基于CI框架的微信网页授权库示例
2016/11/25 PHP
PHP一致性hash分布式算法封装类定义与用法示例
2018/08/04 PHP
DIV外区域Click后关闭DIV的实现代码
2011/12/21 Javascript
漂亮的jquery提示效果(仿腾讯弹出层)
2013/02/05 Javascript
js字母大小写转换实现方法总结
2013/11/13 Javascript
点击页面其它地方隐藏该div的两种思路
2013/11/18 Javascript
javascript中caller和callee详解
2015/08/10 Javascript
JS拖拽组件学习使用
2016/01/19 Javascript
jQuery使用$.each遍历json数组的简单实现方法
2016/04/18 Javascript
jQuery控制li上下循环滚动插件用法实例(附demo源码下载)
2016/05/28 Javascript
浅谈jquery之on()绑定事件和off()解除绑定事件
2016/10/26 Javascript
AngularJS动态绑定HTML的方法分析
2016/11/07 Javascript
简单实现bootstrap选项卡效果
2017/02/08 Javascript
angular2 ng build部署后base文件路径问题详细解答
2017/07/15 Javascript
React中的render何时执行过程
2018/04/13 Javascript
JavaScript实现的简单Tab点击切换功能示例
2018/07/06 Javascript
angular2组件中定时刷新并清除定时器的实例讲解
2018/08/31 Javascript
js实现随机8位验证码
2020/07/24 Javascript
微信小程序对图片进行canvas压缩的方法示例详解
2020/11/12 Javascript
详细解析Python中__init__()方法的高级应用
2015/05/11 Python
查看python下OpenCV版本的方法
2018/08/03 Python
浅谈python中真正关闭socket的方法
2018/12/18 Python
python在新的图片窗口显示图片(图像)的方法
2019/07/11 Python
python异步编程 使用yield from过程解析
2019/09/25 Python
python关闭占用端口方式
2019/12/17 Python
python 实现从高分辨图像上抠取图像块
2020/01/02 Python
python读取tif图片时保留其16bit的编码格式实例
2020/01/13 Python
详解Python实现进度条的4种方式
2020/01/15 Python
python asyncio 协程库的使用
2021/01/21 Python
英国最全面的橄榄球联盟门票网站:Live Rugby Tickets
2018/10/06 全球购物
聚网科技C++面试笔试题
2015/09/01 面试题
部队领导证婚词
2014/01/12 职场文书
公司租房协议书范本
2014/10/08 职场文书
大学考试作弊检讨书
2015/05/06 职场文书
诚信教育主题班会
2015/08/13 职场文书