当前位置:首页 > PHP教程 > php应用 > 列表

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

发布:smiling 来源: PHP粉丝网  添加日期:2021-06-16 14:08:50 浏览: 评论:0 

这篇文章主要介绍了使用PHP和JavaScript判断请求是否来自微信内浏览器,包括在手机端的程序上使用微信的分享JS脚本的方法,需要的朋友可以参考下,微信浏览器的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

如果要做盗链

  1. if(strpos($_SERVER["HTTP_USER_AGENT"],"MicroMessenger")) 
  2.   echo "Welcome to wechat word"
  3. else 
  4.   echo "http/1.1 401 Unauthorized"
  5.  
  6. public function is_weixin(){  
  7. if ( strpos($_SERVER['HTTP_USER_AGENT'], 'MicroMessenger') !== false ) { 
  8.  return true; 
  9.  return false; 
  10. }     
  11. if($this->is_weixin()){ 
  12.  }else
  13.  echo "请使用微信访问本网址。"

js判断

  1. function is_weixin(){ 
  2.   var ua = navigator.userAgent.toLowerCase(); 
  3.   if(ua.match(/MicroMessenger/i)=="micromessenger") { 
  4.     return true; 
  5.    } else { 
  6.     return false; 
  7.   } 

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

  1. <script type="text/javascript" src="/jslib/wx_share.js"></script> 
  2.     <script> 
  3.       //分享链接时给其重写分享的标题、缩略图、链接、简介等 
  4.       var imgUrl = '<?php echo base_url('/images/per.png'); ?>'
  5.       var lineLink = 'http://www.baidu.com/'
  6.       var shareTitle = '我来给你送钱了'
  7.       var descContent = '折射率,你知道是啥?'
  8.       var timeline_title = 'timeline_title'
  9.       var appid = ''
  10.     </script> 
  11.     <script> 
  12.       function onBridgeReady() { 
  13.         WeixinJSBridge.call('showOptionMenu'); 
  14.       } 
  15.     </script> 
  16.     <script> 
  17.       if (typeof WeixinJSBridge == "undefined") { 
  18.         if (document.addEventListener) { 
  19.           document.addEventListener('WeixinJSBridgeReady', onBridgeReady, false); 
  20.         } else if (document.attachEvent) { 
  21.           document.attachEvent('WeixinJSBridgeReady', onBridgeReady); 
  22.           document.attachEvent('onWeixinJSBridgeReady', onBridgeReady); 
  23.         } 
  24.       } else { 
  25.         onBridgeReady(); 
  26.       } 
  27.     </script> 
  28. </head>

Tags: PHP微信内浏览器

分享到: