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

前端之家收集整理的这篇文章主要介绍了使用PHP和JavaScript判断请求是否来自微信内浏览器前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

微信浏览器的HTTP_USER_AGENT

在iPhone下,返回

cpu iPhone OS 5_1 like Mac OS X) AppleWebKit/534.46 (KHTML,like Gecko) Mobile/9B176 MicroMessenger/4.3.2)

在Android下,返回

不难发现微信浏览器为 MicroMessenger ,并且有版本号,也可以判断手机类型为iPhone还是Android

如果要做盗链

public function is_weixin(){
if ( strpos($_SERVER['HTTP_USER_AGENT'],'MicroMessenger') !== false ) {
return true;
}
return false;
}
if($this->is_weixin()){
}else{
echo "请使用微信访问本网址。";
}

js判断


<div class="jb51code">
<pre class="brush:js;">
function is_weixin(){
var ua = navigator.userAgent.toLowerCase();
if(ua.match(/MicroMessenger/i)=="micromessenger") {
return true;
} else {
return false;
}
}

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

@H_@R_301_448@_22@ //分享链接时给其重写分享标题缩略图链接、简介等 var imgUrl = ''; var lineLink = 'http://www.baidu.com/'; var shareTitle = '我来给你送钱了'; var descContent = '折射率,你知道是啥?'; var timeline_title = 'timeline_title'; var appid = ''; @H_@R_301_448@_22@ function onBridgeReady() { WeixinJSBridge.call('showOptionMenu'); } @H_@R_301_448@_22@ 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(); }

猜你在找的PHP相关文章