检测网页中暗链的方法和设备的制作方法

文档序号:6368836阅读:513来源:国知局
专利名称:检测网页中暗链的方法和设备的制作方法
技术领域
本发明涉及网页链接检测技术,尤其涉及一种检测网页中暗链的方法和设备。
背景技术
在互联网技术领域,利用搜索引擎权重或者网页级别(Page Rank,PR)对网站或者网页进行评价,搜索弓I擎权重越 高的网站,其在搜索弓丨擎中的排名就越好;PR值越高的网页,受欢迎程度越高或者重要性越强。若采用暗链的方式,即将网页A的链接地址以反链接的方式嵌入网站权重或者PR值较高的网页B中,那么网页A能够获得网页B的部分网站权重或者PR值,从而使得网页A能够较快且较有效地提高其所在网站的搜索引擎排名。某些网站为了提升起在搜索引擎中的排名,利用非正常的手段使其他网站成为其反链接。最常见方法是利用网站程序漏洞,入侵网站权重或者PR值较高的网站,以暗链的形式将其网站的链接植入其中,从而提高其网站自身的PR值,这样的暗链即为非法暗链。由于暗链存在隐蔽性,在正常浏览页面的过程中用户几乎无法觉察到其存在,只有在查看页面源代码时才有可能被发现。现有技术中,对网站页面内的链接进行分析的方法,主要是利用站长工具。但是,利用站长工具对网站页面内的链接地址进行分析时,仅能够检测出其中的无效链接和外站链接,并无法检测出网站页面中存在的暗链,需要网站管理员根据站长工具所生成的报告,人为地对所检测出的链接进行分析判断。因此,现有技术中对暗链进行检测的方法,在检测效率和准确率方面存在不足。

发明内容
针对现有技术中的缺陷,本发明提供了一种检测网页中暗链的方法和设备。本发明提供的一种检测网页中暗链的方法,包括获取网页内各标签中属性信息为隐藏属性的标签;若所述标签中的链接地址的域名与所述网页的域名不相同,则获取所述链接地址;若所述链接地址的域名与预存于黑名单中的域名相同,则将所述链接地址作为暗链的检测结果输出。本发明提供的一种检测网页中暗链的设备,包括第一工作模块,用于获取网页内各标签中属性信息为隐藏属性的标签;第二工作模块,用于在所述标签中的链接地址的域名与所述网页的域名不相同时,获取所述链接地址;第三工作模块,用于在所述链接地址的域名与预存于黑名单中的域名相同时,将所述链接地址作为暗链的检测结果输出。本发明通过三层式检测,即检测出网页标签中具有隐藏属性的标签,进而提取标签中的不属于站内链接的链接地址,最后判断出与黑名单中所禁止的链接的域名相同的链接地址,作为暗链的检测结果。本发明所提供的方法,能够自动检测出网页中的暗链,有效地降低误报率的同时,提高检测的效率和准确率。


图I为本发明检测网页中暗链的方法一实施例的流程图;图2为本发明检测网页中暗链的方法另一实施例的流程图;图3为本发明检测网页中暗链的方法又一实施例的流程图;图4为本发明检测网页中暗链的设备实施例的结构示意图。
具体实施方式
图I为本发明检测网页中暗链的方法一实施例的流程图,如图I所示,该方法包括步骤100、获取网页内各标签中属性信息为隐藏属性的标签。暗链本身是链接地址,链接地址存在于网页的标签中。其中,暗链在网页中的存在形式具有视觉上的隐蔽性,以不可见或者不易被察觉的方式隐藏在网页中,实现隐藏的方法主要有以下四种。第一,修改级联样式表(Cascading Style Sheet, CSS)的样式。在CSS样式表中,通过将标签的效果设置为透明隐藏的,能够用来美化网页的页面展示效果,而暗链利用此方法到达隐藏链接的目的。具体设置方法可以采用为标签添加属性信息,例如style="displaynone ;"。第二,偏离页面中的可见位置。在使用浏览器浏览页面时,浏览器的窗口为一个以左上角为坐标原点的坐标系,页面内标签的位置布局就是通过该坐标系来定位的。如果将标签的位置设定在坐标系的可见范围之外,就能够实现对标签的隐藏,暗链利用此方法可以将其链接所在的标签定位在不可见的区域内,从而实现隐藏的目的。具体设置方法可以为将标签定位在可见范围以外,例如< div style = " position absolute ;top :_0623px ;left -279px ;" >。第三,采用跑马灯MARQUEE的方式。在网页中通过MARQUEE标签能够实现文字图片在页面上的滚动,对MARQUEE标签的属性进行设置,能够指定滚动条的位置、大小和滚动速度。暗链利用此方法改变滚动条的属性,从而达到视觉隐藏的效果。第四,将字体颜色设置为背景颜色。网页中可以对背景和字体进行灵活的设置,暗链通过将链接设置为较小字体,并且颜色设置为与背景颜色相同,从而实现隐藏的目的。在网页中的链接地址是以标签的形式存在的,因此通过修改标签的属性即可以改变链接地址的样式。通过对网页中标签的属性进行判断,若标签的属性信息满足上述隐藏特征,则这样的属性信息具有隐藏属性,相应地,该属性信息对应的标签即为属性信息为隐藏属性的标签,获取属性信息为隐藏属性的标签。步骤101、若所述标签中的链接地址的域名与所述网页的域名不相同,则获取所述链接地址。由于一个网站内包括一个或者多个网页,各网页可能包括一个或者多个链接地址,其中可能包括站内链接,站内链接所指向的地址仍然在该网站内,其被允许存在于该网站中,而对于不是站内链接的链接地址则需要通过进一步的检测,判断其是否是被允许存在于网站中的。在获取到具有隐藏属性的标签后,从标签中提取其中包含的链接地址,根据链接地址的域名,判断其是否属于站内链接。一般情况下,网站的域名由父域名、通用顶级域名和国家域名组成,当该网站内部包含多个频道等内容时,其还具有进一步的子域名。其中,域名是用”进行分割的,其一般形式为“子域名.父域名.通用顶级域名.国家域名”。通用顶级域名一般为三个字符,国家域名一般为两个字符。对于站内链接而言,其“父域名.通用顶级域名.国家域名”与该网页的“父域名.通用顶级域名.国家域名”是相同的,尽管两者的子域名可能不相同,仍然能判断出两者属于同一个网站。
因此,判断所提取出的链接地址是否为站内链接时,需要将链接地址与网页的域名进行比较,具体的判断方法为,比较两者的“父域名.通用顶级域名.国家域名”。如果两者的域名相同,则说明该链接地址为站内链接,如果两者的域名不相同,则说明该链接地址不是站内链接,获取该链接地址,用于进行进一步的检测和判断。步骤102、若所述链接地址的域名与预存于黑名单中的域名相同,则将所述链接地址作为暗链的检测结果输出。当标签具有隐藏属性,并且标签中的链接地址不是站内链接的情况下,尚无法判断出该链接地址是否是被允许存在于网站中的。因此,进一步地判断所获得的链接地址的域名与网站中预存的黑名单中的域名是否相同,具体的判断方法为,比较两者的“父域名.通用顶级域名.国家域名”。如果该链接地址的域名与网站的黑名单中的域名相同,即该链接地址被列于网站预存的黑名单中,则说明网站不允许该链接地址在其网页中存在。当满足了上述条件后,将该链接地址作为暗链的检测结果输出,以供进行后续的操作。本发明实施例中的检测网页中暗链的方法,通过三层式检测,即检测出网页标签中具有隐藏属性的标签,进而提取标签中的不属于站内链接的链接地址,最后判断出与黑名单中所禁止的链接的域名相同的链接地址,作为暗链的检测结果。本发明所提供的方法,能够自动检测出网页中的暗链,有效地降低误报率的同时,提高检测的效率和准确率。图2为本发明检测网页中暗链的方法另一实施例的流程图。如图2所示,在上述实施例的基础上,在执行步骤100之后,执行步骤101之前,该方法还包括步骤103、获取对所述标签进行触发事件模拟之后,属性信息未由隐藏属性转变为显性属性的标签。在获得网页中具有隐藏属性的标签后,还需要对该部分标签进行进一步的判断,因为有些标签是根据网页中正常的需求而被设置为具有隐藏属性的。例如,有些网站,为了节省网页空间,将不同排行榜的内容放置在网页的同一坐标区域上,并设置为只有一个排行榜的内容处于可见状态,其他排行榜处于隐藏状态,当其他排行榜被触发时,则被触发的排行榜内容对应的标签的属性在触发事件后被修改,使得该标签原有的隐藏属性改变为显性属性,相应地,该排行榜的内容能够显现出来,而在触发事件之前为显性属性的标签,其属性信息被修改为隐藏属性,从而该标签对应的排行榜的内容被隐藏。经过对触发事件进行模拟之后,获取其中属性信息未由隐藏属性转变为显性属性的标签,以对该标签进行后续的检测和判断。其中所述触发事件可以为鼠标事件、键盘事件或触摸事件。对具有隐藏属性的标签进行触发事件模拟时,可以模拟用户在浏览网页时的鼠标事件、键盘事件或者触摸事件,即模拟用户使用鼠标、键盘或者利用触摸的方式在网页上进行的操作。具体的实现方式可以利用Java Script脚本语言,但并不仅限于此,还可以利用其他适用于编辑网页源代码的编程语言。通过模拟鼠标事件、键盘事件或者触摸事件,对页面中的标签进行事件触发,同时 监控已被检测为具有隐藏属性的标签,其隐藏属性是否在触发事件后,改变为显性属性。若标签的属性由隐性属性改变为显性属性,则该标签为网页中根据需要合理设置的内容,不需要对该类标签进行进一步的检测;若标签的属性未由隐性属性改变为显性属性,则该标签需要进行进一步检测和判断的标签。本发明实施例中的检测网页中暗链的方法,通过对标签的属性进行检测后,进一步地对具有隐藏属性的标签进行触发事件的模拟,能够将网页中根据需要设置为隐藏属性的标签排除在检测范围以外,能够有效地降低检测的误报率,提高检测的准确率。进一步地,在上述各实施例的基础上,所述获取网页内各标签中属性信息为隐藏属性的标签包括,利用网页解析库对所述网页内的各标签进行解析,获取属性信息为隐藏属性的标签。利用网页解析库对网页的源代码进行解析,针对上述对标签进行隐藏的方法,对网页中标签的相应的属性信息进行判断。其中,网页解析库可以为超文本标记语言(Hypertext Markup Language, HTML)解析库。由于网页中的标签是以文档对象模型(Document Object Model,DOM)的形式存在的,利用 DOM 应用程序编程接口(Application Programming Interface, API)对网页 DOM中标签的相应属性进行分析,判断各标签是否具有隐藏特性。如果属性信息符合上述隐藏特征,则判定其为具有隐藏属性的标签,获取该标签以进行后续检测和判断。本发明实施例提供的检测网页中暗链的方法,针对暗链的特点,利用网页解析库检测网页中具有隐藏属性的标签,以供进一步地对该标签中的链接地址进行判断,能够更有针对性地检测网页中的暗链,有利于提高检测的效率和准确率。进一步地,在上述各实施例的基础上,所述获取网页内各标签中属性信息为隐藏属性的标签还包括,利用浏览器内核对所述网页内的各标签进行解析,获取属性信息为隐藏属性的标签。有些暗链被植入到网站中时,并未直接指定暗链所在标签的属性信息,而是通过在网页的源代码中额外地插入一段脚本代码,通过脚本代码中的相关语句修改暗链所在标签的属性信息。由于利用网页解析库对网页的源代码进行解析时,并不运行源代码,仅对标签的属性信息进行检测,因此对于在脚本代码中修改属性信息的隐藏标签,仅通过网页解析库的方式检测不到,需要利用浏览器内核对网页的源代码进行解析,例如,开源的Webkit浏览器内核等。利用浏览器内核对网页的源代码进行解析和渲染时,网页的源代码会被运行,从而经过解析和渲染后的网页的效果与展示给用户的相同,因此隐藏标签的效果被完全展示出来。利用DOM API对网页DOM中标签的相应属性进行分析,判断各标签是否具有隐藏特性。如果属性信息符合上述隐藏特征,则判定其为具有隐藏属性的标签,获取该标签以进行后续检测和判断。本发明实施例提供的检测网页中暗链的方法,针对暗链的特点,利用浏览器内核的方式对具有隐藏属性的标签进行检测,比利用网页解析库的方式获得的检测结果更全面,准确率更高。 图3为本发明检测网页中暗链的方法又一实施例的流程图,执行完步骤101之后,所述方法还包括步骤104、若所述链接地址的域名与预存于所述黑名单中的域名不相同,并且与预存在白名单中的域名不相同,则将所述链接地址中符合暗链特征的链接地址,作为暗链的检测结果输出。其中,判断域名是否相同的方法为,比较该链接的地址的“父域名.通用顶级域名.国家域名”与黑名单或者白名单中所存储的链接地址的“父域名.通用顶级域名.国家域名”是否相同。黑名单,用于记录被该网站所禁止的链接地址,如网络上常见的非法站点域名;白名单,用于记录合法的站点域名,如网站的友情站点的域名。当检测出网页中具有隐藏属性的链接地址后,若该链接地址的域名与网站中预存的黑名单中的域名不相同,也与预存的白名单中的域名不相同,也就是说,该链接地址不在网站的黑名单中,也不在网站的白名单中。说明该链接地址既非被网站所禁止的链接,也非网站认定的友情链接。进一步地,利用记录暗链特征的暗链特征库,对所述链接地址进行检测,判断其是否符合暗链的特征,将符合暗链特征的链接地址作为暗链检测结果输出。其中,暗链的特征包括链接地址长度的特征等特征信息。具体实现方式可以为,判断链接地址的链接长度是否小于预设阈值,或者是否满足预设的取值范围。若链接地址小于预设阈值,或者满足预设的取值范围,则将该链接地址作为暗链的检测结果输出。本发明实施例提供的检测网页中暗链的方法,在所获取的链接地址进行判断,若链接地址不属于网站黑名单中所列被禁止的链接,同时也不属于网站白名单中所列的友情链接,则通过检测该链接地址是否符合暗链的特征,判断其是否属于暗链,从而有效地降低检测的误报率,提高检测的准确率。本领域普通技术人员可以理解实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括R0M、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
图4为本发明检测网页中暗链的设备实施例的结构示意图,如图4所示,该设备包括第一工作模块11、第二工作模块12和第三工作模块13。其中,第一工作模块11用于获取网页内各标签中属性信息为隐藏属性的标签;第二工作模块12用于在所述标签中的链接地址的域名与所述网页的域名不相同时,获取所述链接地址;第三工作模块13用于在所述链接地址的域名与预存于黑名单中的域名相同时,将所述链接地址作为暗链的检测结果输出。进一步地,在上述实施例的基础上,所述检测网页中暗链的设备还包括第四工作模块14。第四工作模块14用于在所述第一工作模块11获取网页内各标签中属性信息为隐藏属性的标签之后,所述第二工作模块12在所述标签中的链接地址的域名与所述网页的域名不相同时,获取所述链接地址之前,获取对所述标签进行触发事件模拟之后,属性信息未由隐藏属性转变为显性属性的标签。进一步地,在上述各实施例的基础上,所述第一工作模块11还用于利用网页解析库对所述网页内的各标签进行解析,获取属性信息为隐藏属性的标签。进一步地,在上述各实施例的基础上,所述第一工作模块11还用于利用浏览器内核对所述网页内的各标签进行解析,获取属性信息为隐藏属性的标签。进一步地,在上述各实施例的基础上,所述检测网页中暗链的设备还包括第五工作模块15。第五工作模块15用于在所述第二工作模块12在所述标签中的链接地址的域名与所述网页的域名不相同时,获取所述链接地址之后,所述链接地址的域名与预存于所述黑名单中的域名不相同,并且与预存在白名单中的域名不相同时,将所述链接地址中符合暗链特征的链接地址,作为暗链的检测结果输出。具体的,本发明实施例中检测网页中暗链的设备,对网页中的暗链进行检测的方法,可以参见上述对应的方法实施例,此处不再赘述。本发明实施例中的检测网页中暗链的设备,通过三层式检测,即检测出网页标签中具有隐藏属性的标签,进而提取标签中的不属于站内链接的链接地址,最后判断出与黑名单中所禁止的链接的域名相同的链接地址,作为暗链的检测结果。本发明所提供的设备,能够自动检测出网页中的暗链,有效地降低误报率的同时,提高检测的效率和准确率。最后应说明的是以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。权利要求
1.一种检测网页中暗链的方法,其特征在于,包括 获取网页内各标签中属性信息为隐藏属性的标签; 若所述标签中的链接地址的域名与所述网页的域名不相同,则获取所述链接地址; 若所述链接地址的域名与预存于黑名单中的域名相同,则将所述链接地址作为暗链的检测结果输出。
2.根据权利要求I所述的检测网页中暗链的方法,其特征在于,所述获取网页内各标签中属性信息为隐藏属性的标签之后,所述若所述标签中的链接地址的域名与所述网页的域名不相同,则获取所述链接地址之前,所述方法还包括 获取对所述标签进行触发事件模拟之后,属性信息未由隐藏属性转变为显性属性的标签。
3.根据权利要求I所述的检测网页中暗链的方法,其特征在于,所述获取网页内各标签中属性信息为隐藏属性的标签包括 利用网页解析库对所述网页内的各标签进行解析,获取属性信息为隐藏属性的标签。
4.根据权利要求I所述的检测网页中暗链的方法,其特征在于,所述获取网页内各标签中属性信息为隐藏属性的标签包括 利用浏览器内核对所述网页内的各标签进行解析,获取属性信息为隐藏属性的标签。
5.根据权利要求I所述的检测网页中暗链的方法,其特征在于,所述若所述标签中的链接地址的域名与所述网页的域名不相同,则获取所述链接地址之后,所述方法还包括 若所述链接地址的域名与预存于所述黑名单中的域名不相同,并且与预存在白名单中的域名不相同,则将所述链接地址中符合暗链特征的链接地址,作为暗链的检测结果输出。
6.一种检测网页中暗链的设备,其特征在于,包括 第一工作模块,用于获取网页内各标签中属性信息为隐藏属性的标签; 第二工作模块,用于在所述标签中的链接地址的域名与所述网页的域名不相同时,获取所述链接地址; 第三工作模块,用于在所述链接地址的域名与预存于黑名单中的域名相同时,将所述链接地址作为暗链的检测结果输出。
7.根据权利要求6所述的检测网页中暗链的设备,其特征在于,所述检测网页中暗链的设备还包括 第四工作模块,用于在所述第一工作模块获取网页内各标签中属性信息为隐藏属性的标签之后,所述第二工作模块在所述标签中的链接地址的域名与所述网页的域名不相同时,获取所述链接地址之前,获取对所述标签进行触发事件模拟之后,属性信息未由隐藏属性转变为显性属性的标签。
8.根据权利要求6所述的检测网页中暗链的设备,其特征在于,所述第一工作模块还用于 利用网页解析库对所述网页内的各标签进行解析,获取属性信息为隐藏属性的标签。
9.根据权利要求6所述的检测网页中暗链的设备,其特征在于,所述第一工作模块还用于 利用浏览器内核对所述网页内的各标签进行解析,获取属性信息为隐藏属性的标签。
10.根据权利要求6所述的检测网页中暗链的设备,其特征在于,所述检测网页中暗链的设备还包括 第五工作模块,用于在所述第二工作模块在所述标签中的链接地址的域名与所述网页的域名不相同时,获取所述链接地址之后,所述链接地址的域名与预存于所述黑名单中的 域名不相同,并且与预存在白名单中的域名不相同时,将所述链接地址中符合暗链特征的链接地址,作为暗链的检测结果输出。
全文摘要
本发明公开了一种检测网页中暗链的方法和设备,其中检测网页中暗链的方法,包括获取网页内各标签中属性信息为隐藏属性的标签;若所述标签中的链接地址的域名与所述网页的域名不相同,则获取所述链接地址;若所述链接地址的域名与预存于黑名单中的域名相同,则将所述链接地址作为暗链的检测结果输出。检测网页中暗链的设备,包括分别用于执行上述步骤的第一工作模块、第二工作模块和第三工作模块。本发明所提供的方法和设备,能够自动检测出网页中的暗链,有效地降低误报率的同时,提高检测的效率和准确率。
文档编号G06F17/30GK102682097SQ20121012988
公开日2012年9月19日 申请日期2012年4月27日 优先权日2012年4月27日
发明者付德龙, 张振虎, 王兴, 王晓明, 罗宇, 龙柯 申请人:北京神州绿盟信息安全科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1