这篇文章主要介绍了使用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
如果要做盗链
- 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>
新闻热点
疑难解答