本发明是关于网页搜索引擎技术领域以及网页漏洞检测领域,特别涉及一种冗余页面的发现方法。
背景技术:
网站技术日新月异,为了追求用户体验,很多网站将一些原本应该返回错误代码的冗余页面,通过一系列的处理,返回了正常页面的代码,这样会造成一系列自动化工具的困扰。
例如:
1、搜索引擎会将这种页面收录,给用户查询资料造成了困扰。
2、网站漏洞检测,会认为这是一个有效的页面,从而进行不必要的测试,浪费了时间。
现有的很多技术都是通过返回码来判断是否是冗余页面,如果一个冗余页面按照正常的返回码则会对自动化的东西造成困扰。而且冗余页面多种多样,市面上并没有很好的解决方案。
技术实现要素:
本发明的主要目的在于克服现有技术中的不足,提供一种能够智能识别冗余页面的方法。为解决上述技术问题,本发明的解决方案是:
提供一种冗余页面的发现方法,用于判断网站的目标页面是否为冗余页面,所述冗余页面的发现方法包括探测页面收集阶段、探测页面处理阶段、目标页面处理阶段、目标页面识别阶段;
所述探测页面收集阶段,用于收集网站冗余页面:通过对站点发送不同页面类型的确定不存在的页面(即对站点发送确定不存在的页面,且为不同类型的页面,例如html、asp、jsp、jpg、png、css、js等之类的网页常见类型),收集网站对不同类型不存在页面的处理回应,以及对该不存在页面返回的http返回码;
所述探测页面处理阶段,用于对探测页面收集阶段返回的结果做处理:将探测页面收集阶段收集的网站冗余页面(即探测页面收集阶段对站点发送不同页面类型的确定不存在的页面)进行降维处理(例如特征提取,将网页信息降维成特征;例如网页结构特征,网页内容特征),求得特征值,并记录下http返回码;
所述目标页面处理阶段,对目标页面做特征提取处理,求得特征值(该目标网页的特征值,和探测页面处理阶段对网站冗余页面相同的特征值求取方式相同),将目标页面的http返回码与目标页面计算所得的特征值保存下来;
所述目标页面识别阶段,用于将目标页面与和其页面类型相同的网站冗余页面做识别对比(例如目标页面为js类型的页面,则取探测页面处理阶段中获得的不存在的js类型页面的特征值与http返回码):先比较目标页面和该网站冗余页面的http返回码是否一致,若http返回码一致,则将目标页面的特征值与该网站冗余页面的特征值做相似度匹配,若相似(即相似度超过预设的阈值),则判断该目标页面为冗余页面。
在本发明中,所述探测页面收集阶段采用http发送库实现,且不限该http发送库的实现语言。
在本发明中,所述探测页面处理阶段中的特征值,通过下述任意一种计算方式获得:
1)通过simhash计算页面的特征值;
2)通过词频来算特征值;
3)对页面做降维处理形成特征值;
4)通过局部敏感hash求得特征值。
在本发明中,目标页面识别阶段中页面间特征值的相似度,是指两个特征值的余弦距离、欧氏距离或者杰卡德相似性度量。
在本发明中,所述页面类型,是用http头部中的content-type来区分的页面类型、用url的文件后缀名来区分的页面类型或者用返回数据的文件头来区分的页面类型。
本发明的工作原理:使用通过同类型页面的相似度比较,先通过发送该类型确定不存在的页面获取服务器对该类型冗余页面处理结果,并先比对返回码是否一致,若不一致,则可以认为不是冗余页面,若一致则判断两个页面中的相似度,若相似,则判断为冗余页面。
与现有技术相比,本发明的有益效果是:
本发明使用通过同类型页面的相似度比较,为了避免服务器对不同类型页面做不同处理导致判断出错,先通过发送该类型确定不存在的页面获取服务器对该类型冗余页面处理结果,基于此信息来判断目标页面是否为冗余页面,弥补了业内对该种页面无法识别的痛点,通过类型判断可以更为精准的来判断是否是冗余页面,避免了服务器对不同类型不同处理导致的判断失败。
附图说明
图1为本发明的工作示意图。
具体实施方式
首先需要说明的是,本发明涉及冗余页面发现方法,是计算机技术在网页搜索引擎技术领域以及网页漏洞检测领域的一种应用。在本发明的实现过程中,会涉及到多个算法的应用。申请人认为,如在仔细阅读申请文件、准确理解本发明的实现原理和发明目的以后,在结合现有公知技术的情况下,本领域技术人员完全可以运用其掌握的软件编程技能实现本发明。凡本发明申请文件提及的均属此范畴,申请人不再一一列举。
下面结合附图与具体实施方式对本发明作进一步详细描述:
如图1所示的一种冗余页面的发现方法包括探测页面收集阶段、探测页面处理阶段、目标页面处理阶段、目标页面识别阶段,用来识别目标url是否为冗余页面。具体步骤如下:
1、预先确定一系列探测的文件类型,并构造这些文件类型的探测包;
2、对服务器发送该文件类型探测包的http请求,并记录该请求的响应头以及响应内容;
3、对步骤2所得页面进行http返回码进行记录,并对页面做特征值提取;
4、对目标页面做特征提取并记录http返回码;
5、确认目标页面的文件类型;
6、在已有的探测文件类型中查找该类型的探测数据,包括探测页面的特征数据以及http返回码;
7、若找到,则进行跳到步骤9;
8、若找不到,则构造一个该文件类型的探测包,重复步骤2、3,之后跳至步骤9;
9、对目标页面以及探测页面做http返回码的比较;
10、若返回码不一致,则不为冗余页面,结束;
11、若返回码一致,则对特征值做相似度匹配;
12、若不相似,则不为冗余页面,结束;
13、若相似则为冗余页面,结束。
最后,需要注意的是,以上列举的仅是本发明的具体实施例。显然,本发明不限于以上实施例,还可以有很多变形。本领域的普通技术人员能从本发明公开的内容中直接导出或联想到的所有变形,均应认为是本发明的保护范围。