本发明涉及监控技术领域,尤其涉及一种网页监控方法及终端。
背景技术:
在网页中,会存在xss脚本(cross-sitescripting,xss,跨站脚本)注入的问题,导致被非法插入一些广告之类的,以及网页会受到不法分子的恶意攻击,而且这个情况经常出现在深夜使用人员较少的时候,对于界面的变化不能够及时地警报或者被察觉,用户在访问网页过程中存在安全性问题,现有技术中并没有相应的解决方案。
技术实现要素:
本发明所要解决的技术问题是:本发明提供了一种网页监控方法及终端,能够有效对网页进行监控,及时找出受到攻击的网页,解决了用户在访问网页过程中存在的安全性问题。
为了解决上述技术问题,本发明提供了一种网页监控方法,包括以下步骤:
s1:加载网页;
s2:获取当前网页上dom对象对应的html文件,并将所述html文件存储于预设的文件夹中;
s3:根据所述html文件,获取html文件中的网页跳转路径;
s4:根据网页跳转路径,加载网页,对所述网页进行截图,并将截图后的图片与网页对应的网页跳转路径进行关联,得到关联信息,保存所述关联信息于所述文件夹中;
s5:重复执行步骤s2至s4,直至所有的网页跳转路径对应的网页均加载完毕;
s6:根据预设的第一关联信息集合,依次判断所述文件夹中所有的关联信息中的网页跳转路径对应的网页是否受到攻击。
本发明还提供了一种网页监控终端,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现以下步骤:
s1:加载网页;
s2:获取当前网页上dom对象对应的html文件,并将所述html文件存储于预设的文件夹中;
s3:根据所述html文件,获取html文件中的网页跳转路径;
s4:根据网页跳转路径,加载网页,对所述网页进行截图,并将截图后的图片与网页对应的网页跳转路径进行关联,得到关联信息,保存所述关联信息于所述文件夹中;
s5:重复执行步骤s2至s4,直至所有的网页跳转路径对应的网页均加载完毕;
s6:根据预设的第一关联信息集合,依次判断所述文件夹中所有的关联信息中的网页跳转路径对应的网页是否受到攻击。
本发明的有益效果为:
本发明提供了一种网页监控方法及终端,通过获取已加载网页上dom对象对应的html文件,从而获取html文件中的网页跳转路径,根据网页跳转路径,加载对应的网页,并对网页进行截图,将截图后的图片与对应的网页跳转路径进行关联,得到关联信息;根据预设的第一关联信息集合,判断关联信息对应的网页是否受到攻击。本发明通过上述方法,能够对待检测网页下所有能够被点击的dom对应的网页进行安全监控,具体通过关联信息中的网页跳转路径和该网页的截图图片,与预设的第一关联信息集合进行对比,可有效判断该网页是否受到攻击;本发明能够及时找出受到攻击的网页,解决了用户在访问网页过程中存在的安全性问题。
附图说明
图1为根据本发明实施例的一种网页监控方法的主要步骤示意图;
图2为根据本发明实施例的一种网页监控终端的结构示意图;
标号说明:
1、存储器;2、处理器。
具体实施方式
为详细说明本发明的技术内容、所实现目的及效果,以下结合实施方式并配合附图详予说明。
本发明最关键的技术构思为:通过获取已加载网页上dom对象对应的html文件,从而获取html文件中的网页跳转路径;根据网页跳转路径,加载对应的网页,将网页截图后的图片与网页跳转路径进行关联,得到关联信息;根据预设第一关联信息集合,判断关联信息对应的网页是否受到攻击。
名字解释:dom对象(dom—documentobjectmodel)是w3c国际组织的一套web标准。它定义了访问html文档对象的一套属性、方法和事件。
请参照图1,本发明提供了一种网页监控方法,包括以下步骤:
s1:加载网页;
s2:获取当前网页上dom对象对应的html文件,并将所述html文件存储于预设的文件夹中;
s3:根据所述html文件,获取html文件中的网页跳转路径;
s4:根据网页跳转路径,加载网页,对所述网页进行截图,并将截图后的图片与网页对应的网页跳转路径进行关联,得到关联信息,保存所述关联信息于所述文件夹中;
s5:重复执行步骤s2至s4,直至所有的网页跳转路径对应的网页均加载完毕;
s6:根据预设的第一关联信息集合,依次判断所述文件夹中所有的关联信息中的网页跳转路径对应的网页是否受到攻击。
从上述描述可知,本发明提供了一种网页监控方法,通过获取已加载网页上dom对象对应的html文件,从而获取html文件中的网页跳转路径,根据网页跳转路径,加载对应的网页,并对网页进行截图,将截图后的图片与对应的网页跳转路径进行关联,得到关联信息;根据预设的第一关联信息集合,判断关联信息对应的网页是否受到攻击。本发明通过上述方法,能够对待检测网页下所有能够被点击的dom对应的网页进行安全监控,具体通过关联信息中的网页跳转路径和该网页的截图图片,与预设的第一关联信息集合进行对比,可有效判断该网页是否受到攻击;本发明能够及时找出受到攻击的网页,解决了用户在访问网页过程中存在的安全性问题。
进一步的,所述s1具体为:
加载待监控的网页,对网页进行截图,得到第一图片,将所述第一图片与所述网页对应的网页跳转路径进行关联,得到第一关联信息,存储第一关联信息于所述文件夹中。
从上述描述可知,通过上述方法,除了能够对待监控的网页下所有能够被点击的dom对象对应的网页进行监控,还能够对待监控的网页本身进行有效的监控。
进一步的,所述s2具体为:
通过ui工具,模拟浏览器的网络请求;
获取服务器根据所述网络请求返回的html超文本流;
根据html超文本流,得到html文件;
存储所述html文件于所述文件夹中。
从上述描述可知,通过上述方法,能够快速地从网页上获取相应的html文件。
进一步的,所述s4具体为:
根据网页跳转路径,加载网页;
判断所述网页在预设时间内是否已经加载过;
若是,则执行步骤s5;
若否,则对所述网页进行截图,并将截图后的图片与网页对应的网页跳转路径进行关联,得到关联信息,保存所述关联信息于预设的文件夹后,执行步骤s5。
从上述描述可知,通过上述方法,能够提高网页检测的效率,及时判断网页是否受到攻击,减少用户访问受到攻击的网页而带来损失。
进一步的,所述判断所述网页在预设时间内是否已经加载过具体为:
计算当前加载的网页对应的html文件,得到第一html文件;
计算所述第一html文件的哈希值,得到第一哈希值;
分别计算所述文件夹中所有html文件对应的哈希值,得到哈希值列表;
判断所述哈希值列表中是否存在所述第一哈希值,若存在,则该网页在所述时间内已加载过;否则,该网页在所述时间内并未加载。
其中,预设时间为检测开始至检测结束这一过程所需的时间,可根据实际检测情况进行调整;优选的,预设时间为1分钟。
从上述描述可知,通过上述方法,能够有效对网页是否已加载进行有效判断,提高了数据检测的准确性。
进一步的,所述预设的第一关联信息集合具体为:
在网页及相应的服务器未受到攻击情况下,执行步骤s1至s5,并根据文件夹中所有的关联信息,得到所述第一关联信息集合。
从上述描述可知,通过上述方法,能够准确判断网页是否受到攻击,以便及时提醒用户。
进一步的,所述判断网页是否受到攻击具体为:
s61:根据文件夹中所有的关联信息,得到第二关联信息集合;关联信息包括网页跳转路径及对应网页的截图图片;
s62:依次获取第二关联信息集合中的一个关联信息,得到关联信息中的第一网页跳转路径及对应的第一截图图片;
s63:判断所述第一关联信息集合中的关联信息是否存在所述第一网页跳转路径;
s64:若不存在,则判断所述第一网页跳转路径对应的网页受到攻击;
s65:若存在,则获取第一关联信息集合中与第一网页跳转路径对应的关联信息,得到第二关联信息;计算第一截图图片与所述第二关联信息中的第二截图图片的相似度,得到第一相似度,若所述第一相似度大于预设的相似度阈值,则判断所述第一网页跳转路径对应的网页并未受到攻击;否则,判断所述第一网页跳转路径对应的网页受到攻击;
s66:重复执行步骤s62至s65,直至所述第二关联信息集合中的所有关联信息对应的网页是否受到攻击均判断完毕为止。
从上述描述可知,通过上述方法,能够准确判断网页是否受到攻击,提高了数据判断的准确性。
请参照图2,本发明提供了一种网页监控终端,包括存储器1、处理器2及存储在存储器1上并可在处理器2上运行的计算机程序,所述处理器2执行所述程序时实现以下步骤:
s1:加载网页;
s2:获取当前网页上dom对象对应的html文件,并将所述html文件存储于预设的文件夹中;
s3:根据所述html文件,获取html文件中的网页跳转路径;
s4:根据网页跳转路径,加载网页,对所述网页进行截图,并将截图后的图片与网页对应的网页跳转路径进行关联,得到关联信息,保存所述关联信息于所述文件夹中;
s5:重复执行步骤s2至s4,直至所有的网页跳转路径对应的网页均加载完毕;
s6:根据预设的第一关联信息集合,依次判断所述文件夹中所有的关联信息中的网页跳转路径对应的网页是否受到攻击。
进一步的,所述的一种网页监控终端,所述s1具体为:
加载待监控的网页,对网页进行截图,得到第一图片,将所述第一图片与所述网页对应的网页跳转路径进行关联,得到第一关联信息,存储第一关联信息于所述文件夹中。
进一步的,所述的一种网页监控终端,所述s2具体为:
通过ui工具,模拟浏览器的网络请求;
获取服务器根据所述网络请求返回的html超文本流;
根据html超文本流,得到html文件;
存储所述html文件于所述文件夹中。
进一步的,所述的一种网页监控终端,所述s4具体为:
根据网页跳转路径,加载网页;
判断所述网页在预设时间内是否已经加载过;
若是,则执行步骤s5;
若否,则对所述网页进行截图,并将截图后的图片与网页对应的网页跳转路径进行关联,得到关联信息,保存所述关联信息于预设的文件夹后,执行步骤s5。
进一步的,所述的一种网页监控终端,所述判断所述网页在预设时间内是否已经加载过具体为:
计算当前加载的网页对应的html文件,得到第一html文件;
计算所述第一html文件的哈希值,得到第一哈希值;
分别计算所述文件夹中所有html文件对应的哈希值,得到哈希值列表;
判断所述哈希值列表中是否存在所述第一哈希值,若存在,则该网页在所述时间内已加载过;否则,该网页在所述时间内并未加载。
进一步的,所述的一种网页监控终端,所述预设的第一关联信息集合具体为:
在网页及相应的服务器未受到攻击情况下,执行步骤s1至s5,并根据文件夹中所有的关联信息,得到所述第一关联信息集合。
进一步的,所述的一种网页监控终端,所述判断网页是否受到攻击具体为:
s61:根据文件夹中所有的关联信息,得到第二关联信息集合;关联信息包括网页跳转路径及对应网页的截图图片;
s62:依次获取第二关联信息集合中的一个关联信息,得到关联信息中的第一网页跳转路径及对应的第一截图图片;
s63:判断所述第一关联信息集合中的关联信息是否存在所述第一网页跳转路径;
s64:若不存在,则判断所述第一网页跳转路径对应的网页受到攻击;
s65:若存在,则获取第一关联信息集合中与第一网页跳转路径对应的关联信息,得到第二关联信息;计算第一截图图片与所述第二关联信息中的第二截图图片的相似度,得到第一相似度,若所述第一相似度大于预设的相似度阈值,则判断所述第一网页跳转路径对应的网页并未受到攻击;否则,判断所述第一网页跳转路径对应的网页受到攻击;
s66:重复执行步骤s62至s65,直至所述第二关联信息集合中的所有关联信息对应的网页是否受到攻击均判断完毕为止。
请参照图1,本发明的实施例一为:
本发明提供了一种网页监控方法,包括以下步骤:
s1:加载网页;
所述s1具体为:
加载待监控的网页,对网页进行截图,得到第一图片,将所述第一图片与所述网页对应的网页跳转路径进行关联,得到第一关联信息,存储第一关联信息于所述文件夹中。
s2:获取当前网页上dom对象对应的html文件,并将所述html文件存储于预设的文件夹中;
所述s2具体为:
通过ui工具,模拟浏览器的网络请求;
获取服务器根据所述网络请求返回的html超文本流;
根据html超文本流,得到html文件;
存储所述html文件于所述文件夹中。
其中,所述html超文本流为html超文本对应的二进制流。
s3:根据所述html文件,获取html文件中的网页跳转路径;
s4:根据网页跳转路径,加载网页,对所述网页进行截图,并将截图后的图片与网页对应的网页跳转路径进行关联,得到关联信息,保存所述关联信息于所述文件夹中;
所述s4具体为:
根据网页跳转路径,加载网页;
判断所述网页在预设时间内是否已经加载过;
若是,则执行步骤s5;
若否,则对所述网页进行截图,并将截图后的图片与网页对应的网页跳转路径进行关联,得到关联信息,保存所述关联信息于预设的文件夹后,执行步骤s5。
其中,所述判断所述网页在预设时间内是否已经加载过具体为:
计算当前加载的网页对应的html文件,得到第一html文件;
计算所述第一html文件的哈希值,得到第一哈希值;
分别计算所述文件夹中所有html文件对应的哈希值,得到哈希值列表;
判断所述哈希值列表中是否存在所述第一哈希值,若存在,则该网页在所述时间内已加载过;否则,该网页在所述时间内并未加载。
s5:重复执行步骤s2至s4,直至所有的网页跳转路径对应的网页均加载完毕;
s6:根据预设的第一关联信息集合,依次判断所述文件夹中所有的关联信息中的网页跳转路径对应的网页是否受到攻击;
其中,所述预设的第一关联信息集合具体为:
在网页及相应的服务器未受到攻击情况下,执行步骤s1至s5,并根据文件夹中所有的关联信息,得到所述第一关联信息集合。
其中,所述判断网页是否受到攻击具体为:
s61:根据文件夹中所有的关联信息,得到第二关联信息集合;关联信息包括网页跳转路径及对应网页的截图图片;
s62:依次获取第二关联信息集合中的一个关联信息,得到关联信息中的第一网页跳转路径及对应的第一截图图片;
s63:判断所述第一关联信息集合中的关联信息是否存在所述第一网页跳转路径;
s64:若不存在,则判断所述第一网页跳转路径对应的网页受到攻击;
s65:若存在,则获取第一关联信息集合中与第一网页跳转路径对应的关联信息,得到第二关联信息;计算第一截图图片与所述第二关联信息中的第二截图图片的相似度,得到第一相似度,若所述第一相似度大于预设的相似度阈值,则判断所述第一网页跳转路径对应的网页并未受到攻击;否则,判断所述第一网页跳转路径对应的网页受到攻击;
s66:重复执行步骤s62至s65,直至所述第二关联信息集合中的所有关联信息对应的网页是否受到攻击均判断完毕为止。
请参照图2,本发明的实施例二为:
本发明提供了一种网页监控终端,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现以下步骤:
s1:加载网页;
所述s1具体为:
加载待监控的网页,对网页进行截图,得到第一图片,将所述第一图片与所述网页对应的网页跳转路径进行关联,得到第一关联信息,存储第一关联信息于所述文件夹中。
s2:获取当前网页上dom对象对应的html文件,并将所述html文件存储于预设的文件夹中;
所述s2具体为:
通过ui工具,模拟浏览器的网络请求;
获取服务器根据所述网络请求返回的html超文本流;
根据html超文本流,得到html文件;
存储所述html文件于所述文件夹中。
s3:根据所述html文件,获取html文件中的网页跳转路径;
s4:根据网页跳转路径,加载网页,对所述网页进行截图,并将截图后的图片与网页对应的网页跳转路径进行关联,得到关联信息,保存所述关联信息于所述文件夹中;
所述s4具体为:
根据网页跳转路径,加载网页;
判断所述网页在预设时间内是否已经加载过;
若是,则执行步骤s5;
若否,则对所述网页进行截图,并将截图后的图片与网页对应的网页跳转路径进行关联,得到关联信息,保存所述关联信息于预设的文件夹后,执行步骤s5。
其中,所述判断所述网页在预设时间内是否已经加载过具体为:
计算当前加载的网页对应的html文件,得到第一html文件;
计算所述第一html文件的哈希值,得到第一哈希值;
分别计算所述文件夹中所有html文件对应的哈希值,得到哈希值列表;
判断所述哈希值列表中是否存在所述第一哈希值,若存在,则该网页在所述时间内已加载过;否则,该网页在所述时间内并未加载。
s5:重复执行步骤s2至s4,直至所有的网页跳转路径对应的网页均加载完毕;
s6:根据预设的第一关联信息集合,依次判断所述文件夹中所有的关联信息中的网页跳转路径对应的网页是否受到攻击;
其中,所述预设的第一关联信息集合具体为:
在网页及相应的服务器未受到攻击情况下,执行步骤s1至s5,并根据文件夹中所有的关联信息,得到所述第一关联信息集合。
其中,所述判断网页是否受到攻击具体为:
s61:根据文件夹中所有的关联信息,得到第二关联信息集合;关联信息包括网页跳转路径及对应网页的截图图片;
s62:依次获取第二关联信息集合中的一个关联信息,得到关联信息中的第一网页跳转路径及对应的第一截图图片;
s63:判断所述第一关联信息集合中的关联信息是否存在所述第一网页跳转路径;
s64:若不存在,则判断所述第一网页跳转路径对应的网页受到攻击;
s65:若存在,则获取第一关联信息集合中与第一网页跳转路径对应的关联信息,得到第二关联信息;计算第一截图图片与所述第二关联信息中的第二截图图片的相似度,得到第一相似度,若所述第一相似度大于预设的相似度阈值,则判断所述第一网页跳转路径对应的网页并未受到攻击;否则,判断所述第一网页跳转路径对应的网页受到攻击;
s66:重复执行步骤s62至s65,直至所述第二关联信息集合中的所有关联信息对应的网页是否受到攻击均判断完毕为止。
本发明的实施例三为:
1、对预设的平台进行初始化操作,获取需要监控的网址;
2、执行步骤如下:
2.1、打开需要验证的网站;
2.2、判断页面加载是否完成:否,等待页面加载完成;是,则跳到2.3执行;
2.3、以该网址对应的网页跳转路径为名称新建临时目录;
2.4、将网页的界面截图与网页对应的网页跳转路径进行关联,得到关联信息并将关联信息保存到临时目录中;
2.5、对当前网页的dom代码进行扫描,得到html文件(dom代码扫描:通过ui自动化工具,模拟浏览器的网络请求,通过该请求,服务器会返回html的超文本流,将这个超文本流获取到内存中,通过文件流的方式保存成本地html文件,存放在于所述文件夹中。);
2.6、对当前dom代码进行过滤筛选,筛选出可以被点击的控件,将控件的对应的网页跳转路径存放到路径数组中去(如何筛选和判断可被点击:通过文件流的方式读取2.5操作生成的html文件,对流进行逐行的读取,通过被<a>,<button>,<input>等支持onclick方法的标签包裹的块,即对结尾的'</'字符进行判断,对这个块用key/value的形式临时数组存放,key表示控件所在行数,value表示控件块的文本;如何取到控件路径:通过ui自动化工具调用浏览器打开html文件,根据临时数组中的key/value定位到对应的控件,调用js方法获取父节点,每次获取都用变量存放他的父节点,多次调用,直到父节点为html的顶级标签,然后将变量拼接起来,将拼接的字符串转换成xpath的形式,保存成文件。);
2.7、从路径数组中取出网页跳转路径,进行跳转操作;
2.8、通过对页面的扫描,确定页面是否已经出现过以及没有可以继续进行跳转操作来判定递归是否结束:否,则跳到2.2执行;是,则跳到2.9执行。(如何判断页面出现过:通过ui自动化工具在对页面扫描的时候,获取到改页面的dom代码和url,与2.5步骤中保存的dom文件代码进行比对,如果完全一样则说明页面出现过;通过2.6相同的控件扫描方案确定页面是否还有可以点击的控件,如果为空则盘点递归结束,如果不为空,调用点击方法操作控件,进入下一个页面,如果页面存在,则判定递归结束。);
2.9、判断路径数组中是否都已经被递归完成,否,跳到2.10执行;是,则跳到3执行;
2.10、从路径数组中提出下一个需要开始递归的路径,进行跳转操作继续执行2.2;
3、通过目录判断操作是否为第一次执行,是,则将所述文件夹作为模板存放,并删除文件夹中的文件,该轮所有流程结束,等待下一次从1开始执行;否,则跳到4执行。
4、包括的步骤如下:
4.1、取出第一次执行后,存放在模板中的关联信息,得到第一关联信息集合;
4.2、从所述文件夹中依次取关联信息,作为第二关联信息,并将第二关联信息的截图图片与第一关联信息集合中的对应的关联信息的截图图片进行比对(通过技术将两张图转换成两个base64的图片流对象,获取流对象中每个像素点的框高和rgb的颜色值,存入两个数组中;对数组相同的位置进行提取比对,用“真”和“假”来记录比对结果存放在结果数组中,通过取出“真”的个数与整个数组的长度相除,获得相似度。判断相似度是否高于85%,高于则基本相同,低于则不相同,记录结果。);
4.3、判断是否一致:否,则跳到4.4执行;是,跳到4.5执行;
4.4、对截图图片不相同节点信息进行记录,并输出该截图图片对应的网页受到攻击;
4.5、输出该截图图片对应的网页未受到攻击,并判断所有截图图片是否比对完成:否,则跳到4.1执行;是,则结束跳到5执行;
5、整合结果,输出测试报告;
6、执行完成。
综上所述,本发明提供了一种网页监控方法及终端,通过获取已加载网页上dom对象对应的html文件,从而获取html文件中的网页跳转路径,根据网页跳转路径,加载对应的网页,并对网页进行截图,将截图后的图片与对应的网页跳转路径进行关联,得到关联信息;根据预设的第一关联信息集合,判断关联信息对应的网页是否受到攻击。本发明通过上述方法,能够对待检测网页下所有能够被点击的dom对应的网页进行安全监控,具体通过关联信息中的网页跳转路径和该网页的截图图片,与预设的第一关联信息集合进行对比,可有效判断该网页是否受到攻击;本发明能够及时找出受到攻击的网页,解决了用户在访问网页过程中存在的安全性问题。
以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等同变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。