首页 >后端开发 >php教程 >怎么判断浏览器是否是360浏览器

怎么判断浏览器是否是360浏览器

WBOY
WBOY原创
2016-06-23 14:27:262245浏览

php代码或者 js代码,百度了好几个都不可以,
针对 360 浏览器5.0版


回复讨论(解决方案)

抓下包看看360的浏览器浏览器特征是什么内容然后判断.
不过现在很多浏览器都可以装插件模拟其他浏览器的.

SERVER["HTTP_USER_AGENT"] Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1) 

可以使用预定义变量:
$_SERVER['HTTP_USER_AGENT'] 
以下是代码
$agent = $_SERVER["HTTP_USER_AGENT"];
if(strpos($agent,"MSIE 8.0"))
echo "Internet Explorer 8.0";
else if(strpos($agent,"MSIE 7.0"))
echo "Internet Explorer 7.0";
else if(strpos($agent,"MSIE 6.0"))
echo "Internet Explorer 6.0";
else if(strpos($agent,"Firefox/3"))
echo "Firefox 3";
else if(strpos($agent,"Firefox/2"))
echo "Firefox 2";
else if(strpos($agent,"Chrome"))
echo "Google Chrome";
else if(strpos($agent,"Safari"))
echo "Safari";
else if(strpos($agent,"Opera"))
echo "360";
else echo $agent;
?>

http://www.google.com.hk/#hl=zh-CN&newwindow=1&safe=strict&site=&source=hp&q=js+%E5%88%A4%E6%96%AD360%E6%B5%8F%E8%A7%88%E5%99%A8&oq=js+%E5%88%A4%E6%96%AD360%E6%B5%8F%E8%A7%88%E5%99%A8&gs_l=hp.3...2337.9890.0.10172.8.8.0.0.0.0.0.0..0.0...0.0..0.1c.uam8R2beIKM&bav=on.2,or.r_gc.r_pw.&fp=a16bbb3ab964cbca&biw=1366&bih=664

to #4 人家要的是 360浏览器5.0版 的标志

不过很遗憾,360浏览器使用的是 IE 的内核,严格的说它使用的是 webbrowse COM控件
所以不可能将自己的版权信息搀和进去

请看看 http://hao.360.cn/sethomepage.html 的源文件,看看360自己是怎么判断的......

或者看看 http://www.162100.com/sethomepage.php

JS部分应该是

  var is360=false;
  try{
    if(window.external&&window.external.twGetRunPath){ 
      var r=external.twGetRunPath(); 
      if(r&&r.toLowerCase().indexOf("360")>-1){
        is360=true;
      }
    }
  }catch(e){
    is360=false;
  }
  if(is360){
    browserMark='360';
  }else{
    var nVersion=navigator.appVersion;
    if(/2345Explorer/i.test(nVersion)){
      browserMark='2345';
    }else if(/Maxthon/i.test(nVersion)){
      browserMark='maxthon';
    }else if(/TheWorld/i.test(nVersion)){
      browserMark='theworld';
    }else if(/TencentTraveler/i.test(nVersion)){
      browserMark='tt';
    }else if(/SE.*MetaSr/i.test(nVersion)){
      browserMark='sogou';
    }else if(/QQbrowser/i.test(nVersion)){
      browserMark='qq';
    }else if(/GreenBrowser/i.test(nVersion)){
      browserMark='green';
    }else if(/360EE/i.test(nVersion)){
      browserMark='360ee';
    }else if(/Chrome/i.test(nVersion)){
      browserMark='chrome';
    }else if(/Firefox/i.test(navigator.userAgent)){
      browserMark='firefox';
    }else if(/Opera/i.test(navigator.userAgent)){
      browserMark='opera';
    }else if(/Safari/i.test(navigator.userAgent)){
      browserMark='safari';
    }else{
      browserMark='ie';
    }
  }

#7、#8 似乎有道理
但我用 360安全浏览器 测试时,他并不认得自己

360大约是要自宫掉这些标识了。度娘不会放过他的任何一样东西。

很痛苦,我也正纠结这个问题,360太流氓了~标志什么的都不留下,万恶的360啊,用户还让我加上360的判断呢

我测试过了 8楼的办法没有用 

window.external.twGetRunPath 只有360.cn 这个域名下的网页才能够调用

别的网页都调用不了  强烈鄙视这种流氓行为  有种想骂它们的冲动  还是忍忍吧 其实心里骂了无数次了

用$_SERVER["HTTP_USER_AGENT"]读取360浏览器的信息,结果和IE8的一模一样。

微软竟然没有起诉他?

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn