利用JavaScript重定向跳转作弊技术的研究

2017-04-06 08:27胡静静郑吉鸿
赤峰学院学报·自然科学版 2017年6期
关键词:重定向淮北脚本

胡静静,郑吉鸿

(1.合肥工业大学 计算机科学技术学院,安徽 合肥 230009;2.淮北职业技术学院 计算机系,安徽 淮北 235000;3.淮北职业技术学院 招生办,安徽 淮北 235000)

利用JavaScript重定向跳转作弊技术的研究

胡静静1,2,郑吉鸿3

(1.合肥工业大学 计算机科学技术学院,安徽 合肥 230009;2.淮北职业技术学院 计算机系,安徽 淮北 235000;3.淮北职业技术学院 招生办,安徽 淮北 235000)

搜索引擎中作弊技术已经成为网络发展的一种主要挟持手段.本文对基于JavaScript网页中常用的重定向技术进行了分析,并给出了简单实用的解决代码.

JavaScript;重定向;作弊

当今社会,互联网已经是人们获得信息,进行资源交流十分普及的方式,而搜索引擎则可以根据用户的检索需求,列出用户所需的相关信息.作弊者利用JavaScript重定向进行作弊,将访问者使用搜索引擎引导到作弊者的目的页面,进而达到作弊的目的,由于这种方法形式各异,且不易被察觉,因此,该手段目前十分普遍.

1 重定向技术

重定向技术顾名思义,就是将原始的数据源通过网络重新定义到其他位置的另一个数据源.使用重定向技术进行搜索时,即便被搜索引擎请求的页面的位置发生了改变,仍然可以通过自动跳转进行自动转向.重定向技术可以分为两类,一类是服务器端重定向,一类是客户端重定向.

1.1 重定向状态码

基于HTTP状态代码的重定向是指向服务器发送浏览请求时 (如URL地址,GET,POST等),服务器返回一组HTTP数据流报头其中包含的某种状态码.HTTP报头部分使用状态代码来表示[1],重定向状态码需要客户端采取下一步操作才能完成请求.HTTP标准包含的重定向状态码为3XX,具体定义如上图.

1.2 基于META标签的重定向

下面的代码可以实现基于META标签进行重定向.

META标签写在Web页面头部,设置标签属性值可以实现重定向.http-equiv属性值设为refresh即可实现重定向,Content属性的值表示重定向前的延时,单位为秒,可设为0,url表示重定向跳转的链接.这种基于META标签的重定向是一种最易于实现的客户端重定向技术,它发生在部分页面载入加上设定的延时之后.

1.3 JavaScript实现重定向

目前,最常见客户端重定向(Redirect)技术是基于JavaScript的重定向.这种重定向发生在客户端向服务器发送一个请求,要求获取一个资源,但是服务器接收请求后发现资源实际在另外一个位置时.可以实现重定向的方法很多,下面给出2种方法均可实现.

2 基于JavaScript重定向作弊技术

上述三种重定向方法在实际使用时各有优缺点,服务器端重定向,是在不同页面之间的转向是直接在服务器端完成的,客户端只能看到结果,而不能看到转向的过程.由于搜索引擎蜘蛛通常无法访问JavaScript的内容.例如,当百度蜘蛛对包含JavaScript的网页编制索引时,它只会将该网页编入索引,但不会去追踪JavaScript本身所隐藏的任何链接或将这些链接编入索引.在JavaScript和非脚本标记中分别放置不同的文字会违反百度的网站站长指南,因为如果这样做,网站会对用户(能够看到基于JavaScript的文字)和搜索引擎(能够看到非脚本标记中的文字)分别显示和隐藏不同的内容,也就是说用户看到的信息和蜘蛛看到的信息是不一样的.相关研究显示,使用脚本进行重定向的页面中,作弊页面的数量是正常页面的3倍[2].研究作弊者使用JavaScript进行作弊方式可以有效地识别垃圾网页,因此,我们将当前作弊者常用的基于JavaScript重定向的作弊手段进行了如下分类:

2.1 直接重定向

通过下面的代码通过脚本直接修改页面的位置属性即可实现.

也可以通过一些条件语句进行判断来实现重定向.

2.2 字符串操作结合

在上一种方式中是将整个目的URL作为一个number string,为了避免这种情况,采用如下代码来实现字符串操作结合:

2.3 使用Unescape解码方法

通过下面的代码可以实现将网页重定向至http://spampage.com.

2.4 自定义解码函数的方法

Unescape解码是固定的解码方式,有些作弊者为了避免作弊被发觉,可以利用计算机统计的方法找出其中某些字符串匹配的规律,使用自定义的方式将一些解码函数自定义,以此避免出现固定的匹配模式.可用如下代码实现使用自编码方式重定向至http://spampage.com.

2.5 注入方式

脚本的本身具有运行时会产生更多的脚本指令的特点,因此,作弊者为了掩盖作弊的痕迹,会利用注入方式与上述解码规则结合,产生更复杂的脚本代码,实现作弊的目的.另外通过脚本还可以进行HTML元素及事件注入[3].下面使用脚本的例子可以实现通过注入方式进行重定向.

所述脚本注入产生的代码如下所示,执行该脚本代码后页面被重定向到http://spampage.com页面.

2.6 使用Referrer属性

Referrer属性可以得到载入当前文档的URL(即链接并打开当前文档的URL).语法格式为:document.referrer,如果当前文档不是通过超级链接访问的,则为空(null)[4].利用下面的代码可以将不同来源的访问重定向到不同的页面.

3 总结

自动跳转技术可以用来实现当页面出现故障,或者域名更改等意外情况下的替换和更正等良性引导的功能,但是有些人“绑架”用户,让访问者强制访问指定页面,获得点击量,实现“作弊”的最终目的,这种做法只会引起访问用户的反感,也严重影响了互联网的访问规则,破坏了互联网秩序,因此,研究如何防止作弊者利用JavaScript重定向跳转技术进行作弊是十分重要的.

〔1〕中国互联网信息中心.第24次中国互联网络发展状况统计报告[EB/OL].http://www.cnnic. net.cn/uploadfiles/doc/2009/7/16/125040.doc.

〔2〕Z.GySngyi and H,Garcia Molina,Web spam taxonomy.In Proceedings Of the 1st International Workshop on Adversarial Information Retrieval on the Web(mgWeb),2005:1-5.

〔3〕Zhuge J,Holz T,Song C,et al.Studying malicious websites Andthe underground economy on the Chinese Web [C]∥Proc of 7th Workshop on the Economics of Information Security(WEIS'08),Hanover,NH,2008.

〔4〕ChellapillaK,MaykovA.A taxonomy of javascript redirection Spam.In AIR Web'07: Proceedings of the 3rd international Workshop on Adversarial information retrieval on the web New York,NY,USA,2007:2-8.

〔5〕王暾.基于JavaScript的网页重定向作弊技术研究[J].计算机与数字工程,2012(3).

TP391.13

A

1673-260X(2017)03-0028-03

2016-11-23

2015安徽省精品课程软件工程专业综合试点改革 (2015zy095);2014安徽省级质量工程项目卓越技能型动漫设计师教育培养计划(2014zjjh058);2016淮北职业技术学院院级质量工程项目多媒体课件在计算机类制作实训中的教学应用研究(2016jyxm_09)

猜你喜欢
重定向淮北脚本
酒驾
南朝宋齐的河济淮北诸戍
《淮北师范大学学报》(自然科学版)征稿简则
安奇奇与小cool 龙(第二回)
《淮北师范大学学报》(自然科学版)征稿简则
解决安卓文件夹乱象
重复压裂裂缝重定向的措施研究
4G伪基站的监测定位与规避协同分析
快乐假期
小编的新年愿望