`

浅析opera的ua伪装识别功能

 
阅读更多
一些人认为opera是最符合网页标准的浏览器,同时很多网页没有遵循标准,导致opera访问会有问题,于是opera增加了浏览器伪装识别功能来冒充其他浏览器增强兼容性。

今天其实是想做个简单的实验,看看opera是不是仅仅通过改变ua来增强网页兼容性。没装opera就不必实验了,简单知道下,直接看末尾的结论就行。

实验版本为最新正式版opera 10.62 final 3500,替换我的修改文件。我修改opera.dll强制opera在“识别为opera”、“伪装为firefox”、“伪装为ie”、“识别为firefox”、“识别为ie”这五种情况下useragent全部统一为Mozilla/4.0 (compatible; MSIE 8.0),观察opera在ua一致、五种不同识别伪装设置的情况下(尤其是识别为opera和其他4种的对比)访问网站是否存在区别。

实验一步骤如下

1、备份原opera文件夹

2、下载压缩包opera.7z(2个链接都一样,随便选一个速度快的)

http://www.xun6.net/file/e15bdabd8/Opera.7z.html

http://good.gd/708047.htm

3、替换opera.exe、opera.dll到原opera文件夹

4、确定路由、hosts没有屏蔽任何站点,暂时移除opera的过滤脚本和urlfilter.ini(过滤了一些站点脚本就看不出接下来实验的区别),最好能恢复浏览器默认设置并启用js

5、打开opera设置为1(默认为1,如有更改,请重启)

6、(重启opera)打开http://user-agent-string.info/parse

7、检查网页框内的useragent是否为Mozilla/4.0 (compatible; MSIE 8.0)

8、打开任务管理器(看cpu占用率)

9、打开http://product.pconline.com.cn/并浏览,随意滚动并自己选择并点击任意一个产品

10、在所打开的产品新页面,依次点击参数、报价、图片。。。

11、观察cpu占用率并记录

实验二步骤如下:

1、打开opera设置为2(默认为1,如有更改,请重启)

2、(重启opera)打开http://user-agent-string.info/parse

3、检查网页框内的useragent是否为Mozilla/4.0 (compatible; MSIE 8.0)

4、打开任务管理器(看cpu占用率)

5、打开http://product.pconline.com.cn/并浏览,随意滚动并自己选择并点击任意一个产品

6、在所打开的产品新页面,依次点击参数、报价、图片。。。

7、观察cpu占用率并记录

实验三步骤如下:

1、打开opera设置为3(默认为1,如有更改,请重启)

2、其余同实验二2~7

实验结果很明确,几组设置的useragent同样都是Mozilla/4.0 (compatible; MSIE 8.0)

但实验一中当识别为opera(opera的缺省设置)时页面会卡死,其他实验识别或伪装为其他浏览器的页面正常,为什么呢?有人能解释下么?其实这答案也很简单,这里不多说了,关于ua的修改有兴趣也可以自己把opera.dll脱壳修改几个字符串

显然opera并不像某些人说的,冒充其他浏览器仅仅是通过更改ua使自己被网站识别。

opera的兼容性差也不是因为网站不能识别opera的ua

当opera通过识别为其他浏览器才得以访问一些站点时,仅仅是更改了下ua么?真的是这些站点的问题故意不让opera默认ua时正常访问么?opera有什么理由可以指责这些网站?opera有什么理由反对ie8的兼容性模式?在装无辜指责别人的同时,看看自己在干什么!
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics