一种反wifi劫持方法和装置
技术领域
本发明涉及通信技术领域,特别是涉及一种反wifi劫持方法和一种反wifi劫持装置。
背景技术
随着技术的发展,移动终端也可以使用移动数据网络连入互联网,但是移动终端使用移动数据网络时,其费用居高不下。而由于wifi(WIreless-Fidelity,无线保真)网络可以提供互联网接入功能,因此出现了很多的免费wifi应用,用户可以使用移动终端通过免费wifi应用连接到免费wifi,从而接入互联网。
但是,由于这些免费wifi是各大厂商开发的,其可能嵌入了广告页等额外的信息,用户在使用某些APP(application,应用)打开自己的页面时,如果使用的是这些免费wifi应用连接免费wifi,则其自己的页面可能被该免费wifi应用劫持。
因此,由于用户使用某些APP(application,应用)打开自己的页面时,其页面被免费wifi应用劫持,APP界面中显示的内容可能为免费wifi的广告等内容,导致用户无法看到app自己页面的正常内容,给用户造成困扰。
发明内容
鉴于上述问题,本发明提出了一种反wifi劫持方法和相应的装置,以解决APP打开的页面被其使用的免费wifi应用劫持的问题。
依据本发明的一个方面,公开了一种反wifi劫持方法,包括:
监控第二应用是否触发网页请求;
如果第二应用触发网页请求,则判断所述网页请求是否被第一wifi应用劫持;
如果所述网页请求被第一wifi应用劫持,则将劫持后的网页请求中的第二网址替换为劫持前的第一网址以进行访问。
优选的,所述判断所述网页请求是否被第一wifi应用劫持的步骤,包括:
判断网页视图组件访问的URL是否被第一wifi应用劫持;
如果网页视图组件访问的URL被劫持,则进入将劫持后的网页请求中的第二网址替换为劫持前的第一网址以进行访问的步骤。
优选的,所述判断网页视图组件访问的URL是否被第一wifi应用劫持的步骤,包括:
拦截网页视图组件调用的网页视图客户端组件的网址重写加载方法;
判断所述网址重写加载方法访问的URL是否被第一wifi应用劫持。
优选的,所述判断网页视图组件访问的URL是否被第一wifi应用劫持的步骤,包括:
按照对应第一wifi应用的预设规则提取所述URL的网址特征;
根据所述URL的网址特征判断所述URL是否被第一wifi应用劫持。
优选的,所述按照预设规则提取所述URL的网址特征的步骤包括:
按照对应第一wifi应用的预设规则提取所述URL的头部特征以及第一个url字段的值;
进一步的,根据所述URL的网址特征判断所述URL是否被第一wifi应用劫持的步骤,包括:
判断所述头部特征是否为第一wifi应用的网址特征,以及判断所述url字段的值是否对应一个正确的网址;
如果所述头部特征为第一wifi应用的网址特征,且所述url字段的值对应一个正确的网址,则确定所述URL被第一wifi劫持。
优选的,所述判断所述url字段的值是否对应一个正确的网址的步骤,包括:
解析所述url字段的值得到第一字符串;
判断所述第一字符串的格式是否为正确的URL格式;
如果所述第一字符串的格式是否为正确的URL格式,则确定所述url字段的值是一个正确的网址。
优选的,所述将劫持后的网页请求中的第二网址替换为劫持前的第一网址以进行访问的步骤,包括:
以所述第一字符串作为初始的第一网址,并使所述网页视图组件访问所述第一网址。
优选的,所述判断所述头部特征是否为第一wifi应用的网址特征的步骤,包括:
将所述第一wifi应用的网址特征,与预置的第一wifi应用黑名单中的各第一wifi应用的网址特征进行匹配,确定所述头部特征是否为相应第一wifi应用的头部特征。
依据本发明的另外一个方面,一种反wifi劫持装置,包括:
监控模块,用于监控第二应用是否触发网页请求;
劫持判断模块,用于如果第二应用触发网页请求,则判断所述网页请求是否被第一wifi应用劫持;
访问还原模块,用于如果所述网页请求被第一wifi应用劫持,则将劫持后的网页请求中的第二网址替换为劫持前的第一网址以进行访问。
优选的,所述劫持判断模块包括:
网页视图组件判断子模块,用于判断网页视图组件访问的URL是否被第一wifi应用劫持;如果网页视图组件访问的URL被劫持,则访问还原模块。
优选的,所述网页视图组件判断模块包括:
拦截子模块,用于拦截网页视图组件调用的网页视图客户端组件的网址重写加载方法;
加载方法判断子模块,用于判断所述网址重写加载方法访问的URL是否被第一wifi应用劫持。
优选的,所述网页视图组件判断模块包括:
特征提取子模块,用于按照对应第一wifi应用的预设规则提取所述URL的网址特征;
特征判断子模块,用于根据所述URL的网址特征判断所述URL是否被第一wifi应用劫持。
优选的,所述特征提取子模块包括:
第一特征提取子模块,用于按照对应第一wifi应用的预设规则提取所述URL的头部特征以及第一个url字段的值;
进一步的,所述特征判断子模块包括:
第一特征判断子模块,用于判断所述头部特征是否为第一wifi应用的网址特征,以及判断所述url字段的值是否对应一个正确的网址;如果所述头部特征为第一wifi应用的网址特征,且所述url字段的值对应一个正确的网址,则确定所述URL被第一wifi劫持。
优选的,所述第一特征判断子模块包括:
url字段解析子模块,用于解析所述url字段的值得到第一字符串;
解析结果判断模块,用于判断所述第一字符串的格式是否为正确的URL格式;如果所述第一字符串的格式是否为正确的URL格式,则确定所述url字段的值是一个正确的网址。
优选的,所述访问还原模块包括:
第一还原子模块,用于以所述第一字符串作为初始的第一网址,并使所述网页视图组件访问所述第一网址。
优选的,所述第一特征判断子模块包括:
头部特征判断子模块,用于将所述第一wifi应用的网址特征,与预置的第一wifi应用黑名单中的各第一wifi应用的网址特征进行匹配,确定所述头部特征是否为相应第一wifi应用的头部特征。
相对于现有技术,本发明提供的方案,可以在第二应用触发网页请求后,判断所述网页请求是否被第一wifi应用劫持;如果所述网页请求被第一wifi应用劫持,则将劫持后的网页请求中的第二网址替换为劫持前的第一网址以进行访问,如此可以保证第二应用对自己页面的访问不被第一wifi应用劫持,使用户正常浏览第二应用的页面的内容,不给用户造成困扰。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了根据本发明一个实施例的一种反wifi劫持方法的步骤流程框图;
图2示出了根据本发明一个实施例的一种反wifi劫持方法的步骤流程框图;
图3示出了根据本发明一个实施例的一种反wifi劫持装置的结构框图;
图4示出了根据本发明一个实施例的一种反wifi劫持装置的结构框图;
图5示出了根据本发明一个实施例的一种反wifi劫持设备的结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。
首先介绍一下本发明实施例中提及的术语:
Wifi:WIreless-Fidelity,无线保真,可以理解为无线网络。
第一wifi应用:各个厂商提供的免费wifi应用,用户使用该第一wifi应用后,移动终端可以连入相应的免费wifi。
第二应用:用户需要通过wifi连入互联网的应用,比如微信APP、邮件客户端APP、视频APP等APP。
网页视图组件:webview,安卓系统的在APP内显示网页的控件,WebView可以使得网页轻松的内嵌到app里,还可以直接跟js相互调用。
网页视图客户端:WebViewClient,帮助WebView处理各种通知、请求事件的的组件。
网址重写加载方法:shouldOverrideUrlLoading,WebViewClient的方法,用于具体访问URL。
URL:Uniform Resource Locator,统一资源定位符。
实施例一
参照图1,其示出了本发明实施例一种反wifi劫持方法的步骤流程框图。
步骤110,监控第二应用是否触发网页请求;
在本发明实施例用户可以先在移动终端中,使用第一wifi应用连接上某个wifi,然后用户可以打开某个应用,访问相应的网页。
那么用户在打开某个第二应用后,可能该第二应用自动访问某个网页,则触发一个网页请求,也可能由用户对该第二应用的界面中的控件、元素等进行点击,从而触发网页请求。
其中,上述移动终端可以为手机、平板等移动终端,本发明不对其加以限制。
步骤120,如果第二应用触发网页请求,则判断所述网页请求是否被第一wifi应用劫持;如果所述网页请求被第一wifi应用劫持,则进入步骤130。
在本发明实施例中,对于第二应用触发的网页请求,某些第一wifi应用在连接上wifi网之后,可能监控系统中触发的网页请求,然后拦截该网页请求,对其中的原始的URL进行重置,重置为第一wifi应用自己的URL,比如重置为其广告页的URL,从而相当于劫持了第二应用的网页请求。
在实际应用中,很多第一wifi应用是在第二应用第一次通过第一wifi应用访问网络时,也即对第二应用在第一次通过第一wifi应用发送网页请求时,劫持其网页请求,那么本发明实施例则可以在监控第二应用第一次通过第一wifi触发的网页请求进行判断,对于后续次数的网页请求不进行判断,降低系统资源的浪费。
那么本发明则判断其网页请求中的URL是否被重置,如果被重置了,则所述网页请求是否被第一wifi应用劫持,那么则进入步骤130。
优选的,步骤120包括:
子步骤121,判断网页视图组件访问的URL是否被第一wifi应用劫持;如果网页视图组件访问的URL被劫持,则进入步骤130。
以安卓系统为例,在移动终端的第二应用触发网页请求时,其是通过webview发起网页请求,那么第二应用通过第一wifi应用访问网络时,则第一wifi会劫持该网页请求,将该网页请求中的URL重置。
比如第一wifi应用为某种360wifi,其劫持时设置的重定向页面如http://freewifi.360.cn/portal.php,那么在第二应用发起网页请求是,其会调用WebView,而WebView则可以在第一次连接360wifi时,其WebView访问的URL则360wifi劫持,基于http://freewifi.360.cn/portal.php重置URL。
那么本发明则可以通过对WebView的访问的URL进行判断,从而判断第二应用的网页请求是否被劫持。
优选的,子步骤121包括:
子步骤1211,拦截网页视图组件调用的网页视图客户端组件的网址重写加载方法;
子步骤1212,判断所述网址重写加载方法访问的URL是否被第一wifi应用劫持。
在安卓系统中,WebView被重置时,会调用WebViewClient的shouldOverrideUrlLoading方法,该方法会传递参数重置后要访问的新的URL,该新的URL就是第一wifi应用设置的URL。
比如,前述360wifi,其重置的URL可能如http://freewifi.360.cn/portal.php?wifiname=360%E5%85%8D%E8%B4%B9WiFi-LP&url=http%3A%2F%2F172.22.60.1%3A8087%2Fgoto%3FA007735197A33EFD0E5724E5A47DF80E&mid=29a5fa638f86fdb809744cb08e7358cd&checkurl=http%3A%2F%2F172.22.60.1%3A8087%2Fcheck&random=1099985828&m=747A8FDB4B734B0E90010F7E4F69CED3。
那么本发明实施例可以拦截网页视图组件调用的网页视图客户端组件的shouldOverrideUrlLoading方法,然后获取shouldOverrideUrlLoading方法中的新的URL,从而判断该URL是否为第一wifi应用劫持。
优选的,子步骤121包括:
子步骤1213,按照对应第一wifi应用的预设规则提取所述URL的网址特征;
子步骤1214,根据所述URL的网址特征判断所述URL是否被第一wifi应用劫持。
在本发明实施例中,可以预先对第一wifi应用重置的URL的结构进行分析,设置预设规则,并其中提取网址特征进行记录,然后对于WebView中当前重置的URL,按照预设规则提取网址特征,然后将该网址特征与预先记录的网址特征进行匹配,确定当前重置的URL是否被第一wifi应用劫持。
以前述重置的URL为例“http://freewifi.360.cn/portal.php?wifiname=360%E5%85%8D%E8%B4%B9WiFi-LP&url=http%3A%2F%2F172.22.60.1%3A8087%2Fgoto%3FA007735197A33EFD0E5724E5A47DF80E&mid=29a5fa638f86fdb809744cb08e7358cd&checkurl=http%3A%2F%2F172.22.60.1%3A8087%2Fcheck&random=1099985828&m=747A8FDB4B734B0E90010F7E4F69CED3”,对该URL进行解析后发现它的网址结构如下:
http://freewifi.360.cn/portal.php?wifiname=<wifi名字>&url=<WebView访问的URL>&mid=<mid>&checkurl=<checkUrl>&random=<随机数>&m=<m>。
其中第一个“url”字段的值对应WebView真实想访问的URL,也即触发的网页请求中最开始的第一网址。
那么本发明实施例则可以根据该结构,对当前拦截得到的URL,从中提取出相应的网址特征即可判断是否被劫持。
当然,步骤1213-1214也可以应用于步骤1212的URL的判断。
优先的,子步骤1213包括:
子步骤A11,按照对应第一wifi应用的预设规则提取所述URL的头部特征以及第一个url字段的值;
进一步的,子步骤1214包括:
子步骤A12,判断所述头部特征是否为第一wifi应用的网址特征,以及判断所述url字段的值是否对应一个正确的网址;如果所述头部特征为第一wifi应用的网址特征,且所述url字段的值对应一个正确的网址,则确定所述URL被第一wifi劫持。
如前述使用360wifi的例子,只需要从拦截的URL中判断是否有如下两个条件,即可确定其被劫持:
(1)以http://freewifi.360.cn/portal.php开头;
(2)参数包含“url”字段,并且url字段的值解析后是一个正确的URL。
那么,本发明实施例中,假设从拦截到的URL为“http://freewifi.360.cn/portal.php?wifiname=360%E5%85%8D%E8%B4%B9WiFi-LP&url=http%3A%2F%2F172.22.60.1%3A8087%2Fgoto%3FA007735197A33EFD0E5724E5A47DF80E&mid=29a5fa638f86fdb809744cb08e7358cd&checkurl=http%3A%2F%2F172.22.60.1%3A8087%2Fcheck&random=1099985828&m=747A8FDB4B734B0E90010F7E4F69CED3”,则在子步骤A11可以根据前述预设规则,从该URL中提取头部特征http://freewifi.360.cn/portal.php?,以及第一个url字段的值“http%3A%2F%2F172.22.60.1%3A8087%2Fgoto%3FA007735197A33EFD0E5724E5A47DF80E”。
然后在子步骤A12中,可以将头部特征http://freewifi.360.cn/portal.php?与记录的360wifi的网址特征进行匹配,发现能够匹配上。以及将获取第一个url字段的值“http%3A%2F%2F172.22.60.1%3A8087%2Fgoto%3FA007735197A33EFD0E5724E5A47DF80E”的网址,解析http%3A%2F%2F172.22.60.1%3A8087%2Fgoto%3FA007735197A33EFD0E5724E5A47DF80E对应的网址,该网址是一个正确的网址。
那么,上述头部特征为第一wifi应用的网址特征,且所述url字段的值对应一个正确的网址,则确定所述URL被第一wifi劫持,则进入步骤130。
优选的,所述判断所述url字段的值是否对应一个正确的网址的步骤,包括:
子步骤B11,解析所述url字段的值得到第一字符串;
子步骤B12,判断所述第一字符串的格式是否为正确的URL格式;如果所述第一字符串的格式是否为正确的URL格式,则确定所述url字段的值是一个正确的网址。
在本发明实施例中,可以对前述第一个url字段的值进行解析得到第一字符串,比如解析http%3A%2F%2F172.22.60.1%3A8087%2Fgoto%3FA007735197A33EFD0E5724E5A47DF80E得到第一字符串。
然后判断该第一字符串是否为一个正确的网址,在实际应用中,可以根据url的构建规则判断该第一字符串是否为一个正确的网址,当然也可以通过其他方式判断,比如向该网址发送连通测试包,如果接收到可以连通的响应包,则该第一字符串是一个正确的网址,具体判断方式本发明实施例不对其加以限制。
当然,上述两个条件中任意一个不成立,则不进入步骤130,可以正常访问该URL。
优选的,所述判断所述头部特征是否为第一wifi应用的网址特征的步骤,包括:
子步骤B31,将所述第一wifi应用的网址特征,与预置的第一wifi应用黑名单中的各第一wifi应用的网址特征进行匹配,确定所述头部特征是否为相应第一wifi应用的头部特征。
在本发明实施例中,可以收集各个第一wifi应用的重置的网址,然后分析各个第一wifi应用的预设规则,以及各个第一wifi应用的网址特征。从而由各个第一wifi应用的网址特征构建黑名单。然后在子步骤A11中,可以逐个按照预设规则提取网址特征和url字段的值,将网址特征与黑名单进行匹配,以及分析url字段的值是否为正确的网址,直到找到一个两个条件都符合的情况,进入步骤130。或者没找到任一个两个条件都符合的情况,不进入步骤130。
步骤130,将劫持后的网页请求中的第二网址替换为劫持前的第一网址以进行访问。
在确定第二应用的网页请求被劫持后,则可以将劫持后的网页请求中的第二网址替换为劫持前的第一网址以进行访问。
优选的,步骤130包括:
子步骤131,以所述第一字符串作为初始的第一网址,并使所述网页视图组件访问所述第一网址。
如前述子步骤B12,在确定第一字符串为正确的网址后,可以使WebView访问该网址。也可以理解将shouldOverrideUrlLoading访问的网址改为该第一字符串对应的网址。
可以理解,本发明实施例对于重置的URL,可以从中提取初始的第一网址,将重置的URL再替换为该初始的第一网址,从而可以保证第二应用可以继续在界面中展示其自身的页面。
在本发明实施例中,第一wifi应用劫持还有一种情况是,第一wifi提供了某种无线网络的路由器的接口,而当用户接入该接口时,该路由器则在该客户端第一次访问时,返回给客户端的是广告页面。那么本发明实施例在判断其网页请求被劫持之后,可以向该路由器发送当前APP的相关产品信息,通知该路由器交换广告内容,如果路由器同意交换广告内容,则当前APP允许显示该路由器的广告页面,如果路由器不同意交换广告内容,则当前APP将劫持后的网页请求中的第二网址替换为劫持前的第一网址以进行访问。其中对于路由器而言,如果同意交换广告内容,可以将其中的一条广告信息替换为当前APP的广告信息,从而在其他终端访问该路由器时,可以将该替换后的广告内容推送给其他终端。从而,当前APP可以根据其访问的路由器,不断对当前APP这个产品信息进行推广,提供该产品信息的推广宽度。提高当前APP的广告信息的推广渠道。
当然,进一步的,可以判断被劫持后端广告页面的内容是否与当前APP相关联。当然,可以计算广告内容与当前的APP的相似度确定该内容是否与当前APP相关联,具体方式本发明实施例不对其加以限制。如果相关联,则可以向该路由器发送当前APP的相关产品信息,通知该路由器交换广告内容,如果路由器同意交换广告内容,则当前APP允许显示该路由器的广告页面,如果路由器不同意交换广告内容,则当前APP将劫持后的网页请求中的第二网址替换为劫持前的第一网址以进行访问。其中对于路由器而言,如果同意交换广告内容,可以将其中的一条广告信息替换为当前APP的产相关品信息,从而在其他终端访问该路由器时,可以将该替换后的广告内容推送给其他终端。
本发明实施例可以在第二应用触发网页请求后,判断所述网页请求是否被第一wifi应用劫持;如果所述网页请求被第一wifi应用劫持,则将劫持后的网页请求中的第二网址替换为劫持前的第一网址以进行访问,如此可以保证第二应用对自己页面的访问不被第一wifi应用劫持,使用户正常浏览第二应用的页面的内容,不给用户造成困扰。
参照图2,其示出了本发明实施例另一种反wifi劫持方法的步骤流程框图。
步骤201,监控第二应用是否触发网页请求;如果第二应用触发网页请求,则进入步骤202;
步骤202,按照对应第一wifi应用的预设规则提取所述URL的头部特征以及第一个url字段的值;
步骤203,判断所述头部特征是否为第一wifi应用的网址特征;如果是,则进入步骤204;
步骤204,解析所述url字段的值得到第一字符串;
步骤205,判断所述第一字符串的格式是否为正确的URL格式;如果是,则进入步骤206;
步骤206,以所述第一字符串作为初始的第一网址,并使所述网页视图组件访问所述第一网址。
在本发明实施例中,步骤203与步骤204-205之间的顺序可以调换,本发明实施例不对其加以限制。
本发明实施例与实施例一类似的步骤原理类似,在此不在详述。
本发明实施例可以在可以保证第二应用对自己页面的访问不被第一wifi应用劫持,使用户正常浏览第二应用的页面的内容,不给用户造成困扰。
对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
实施例三
参照图3,其示出了本发明实施例一种反wifi劫持装置的结构框图。
监控模块310,用于监控第二应用是否触发网页请求;
劫持判断模块320,用于如果第二应用触发网页请求,则判断所述网页请求是否被第一wifi应用劫持;
访问还原模块330,用于如果所述网页请求被第一wifi应用劫持,则将劫持后的网页请求中的第二网址替换为劫持前的第一网址以进行访问。
优选的,所述劫持判断模块包括:
网页视图组件判断子模块,用于判断网页视图组件访问的URL是否被第一wifi应用劫持;如果网页视图组件访问的URL被劫持,则访问还原模块。
优选的,所述网页视图组件判断模块包括:
拦截子模块,用于拦截网页视图组件调用的网页视图客户端组件的网址重写加载方法;
加载方法判断子模块,用于判断所述网址重写加载方法访问的URL是否被第一wifi应用劫持。
优选的,所述网页视图组件判断模块包括:
特征提取子模块,用于按照对应第一wifi应用的预设规则提取所述URL的网址特征;
特征判断子模块,用于根据所述URL的网址特征判断所述URL是否被第一wifi应用劫持。
优选的,所述特征提取子模块包括:
第一特征提取子模块,用于按照对应第一wifi应用的预设规则提取所述URL的头部特征以及第一个url字段的值;
进一步的,所述特征判断子模块包括:
第一特征判断子模块,用于判断所述头部特征是否为第一wifi应用的网址特征,以及判断所述url字段的值是否对应一个正确的网址;如果所述头部特征为第一wifi应用的网址特征,且所述url字段的值对应一个正确的网址,则确定所述URL被第一wifi劫持。
优选的,所述第一特征判断子模块包括:
url字段解析子模块,用于解析所述url字段的值得到第一字符串;
解析结果判断模块,用于判断所述第一字符串的格式是否为正确的URL格式;如果所述第一字符串的格式是否为正确的URL格式,则确定所述url字段的值是一个正确的网址。
优选的,所述访问还原模块包括:
第一还原子模块,用于以所述第一字符串作为初始的第一网址,并使所述网页视图组件访问所述第一网址。
在本发明实施例中,可以直接将前述第一字符串作为第一网址,是使所述网页视图组件访问所述第一字符串。
优选的,所述第一特征判断子模块包括:
头部特征判断子模块,用于将所述第一wifi应用的网址特征,与预置的第一wifi应用黑名单中的各第一wifi应用的网址特征进行匹配,确定所述头部特征是否为相应第一wifi应用的头部特征。
本发明实施例可以在第二应用触发网页请求后,判断所述网页请求是否被第一wifi应用劫持;如果所述网页请求被第一wifi应用劫持,则将劫持后的网页请求中的第二网址替换为劫持前的第一网址以进行访问,如此可以保证第二应用对自己页面的访问不被第一wifi应用劫持,使用户正常浏览第二应用的页面的内容,不给用户造成困扰。
实施例四
参照图4,其示出了本发明实施例一种反wifi劫持装置的结构框图。
监控模块310,用于监控第二应用是否触发网页请求;
劫持判断模块320,用于如果第二应用触发网页请求,则判断所述网页请求是否被第一wifi应用劫持,具体包括:
第一特征提取子模块321,用于按照对应第一wifi应用的预设规则提取所述URL的头部特征以及第一个url字段的值;
第一特征判断子模块322,用于判断所述头部特征是否为第一wifi应用的网址特征,以及判断所述url字段的值是否对应一个正确的网址;如果所述头部特征为第一wifi应用的网址特征,且所述url字段的值对应一个正确的网址,则确定所述URL被第一wifi劫持,具体包括:
url字段解析子模块3221,用于解析所述url字段的值得到第一字符串;
解析结果判断模块3222,用于判断所述第一字符串的格式是否为正确的URL格式;如果所述第一字符串的格式是否为正确的URL格式,则确定所述url字段的值是一个正确的网址。
访问还原模块330,用于如果所述网页请求被第一wifi应用劫持,则将劫持后的网页请求中的第二网址替换为劫持前的第一网址以进行访问,具体包括:
第一还原子模块331,用于以所述第一字符串作为初始的第一网址,并使所述网页视图组件访问所述第一网址。
在本发明实施例中,步骤203与步骤204-205之间的顺序可以调换,本发明实施例不对其加以限制。
本发明实施例与实施例三类似的模块原理类似,在此不在详述。
本发明实施例可以在可以保证第二应用对自己页面的访问不被第一wifi应用劫持,使用户正常浏览第二应用的页面的内容,不给用户造成困扰。
本发明实施例还提供了一种反wifi劫持设备,如图5所示,为了便于说明,仅示出了与本发明实施例相关的部分,具体技术细节未揭示的,请参照本发明实施例方法部分。该终端可以为包括手机、平板电脑、PDA(Personal Digital Assistant,个人数字助理)、POS(Point of Sales,销售终端)、车载电脑等任意终端设备,以终端为手机为例:
图5示出的是与本发明实施例提供的终端相关的手机的部分结构的框图。参考图5,手机包括:射频(Radio Frequency,RF)电路510、存储器520、输入单元530、显示单元540、传感器550、音频电路560、无线保真(wireless fidelity,WiFi)模块550、处理器580、以及电源590等部件。本领域技术人员可以理解,图5中示出的手机结构并不构成对手机的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
下面结合图5对手机的各个构成部件进行具体的介绍:
RF电路510可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,给处理器580处理;另外,将设计上行的数据发送给基站。通常,RF电路510包括但不限于天线、至少一个放大器、收发信机、耦合器、低噪声放大器(Low NoiseAmplifier,LNA)、双工器等。此外,RF电路510还可以通过无线通信与网络和其他设备通信。上述无线通信可以使用任一通信标准或协议,包括但不限于全球移动通讯系统 (GlobalSystem of Mobile communication,GSM)、通用分组无线服务(General Packet RadioService,GPRS)、码分多址(Code Division Multiple Access,CDMA)、宽带码分多址(Wideband Code Division Multiple Access, WCDMA)、长期演进 (Long TermEvolution,LTE)、电子邮件、短消息服务(Short Messaging Service,SMS)等。
存储器520可用于存储软件程序以及模块,处理器580通过运行存储在存储器520的软件程序以及模块,从而执行手机的各种功能应用以及数据处理。存储器520可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器520可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
输入单元530可用于接收输入的数字或字符信息,以及产生与手机的用户设置以及功能控制有关的键信号输入。具体地,输入单元530可包括触控面板531以及其他输入设备532。触控面板531,也称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板531上或在触控面板531附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触控面板531可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器580,并能接收处理器580发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板531。除了触控面板531,输入单元530还可以包括其他输入设备532。具体地,其他输入设备532可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
显示单元540可用于显示由用户输入的信息或提供给用户的信息以及手机的各种菜单。显示单元540可包括显示面板541,可选的,可以采用液晶显示器(Liquid CrystalDisplay,LCD)、有机发光二极管(Organic Light-Emitting Diode, OLED)等形式来配置显示面板541。进一步的,触控面板531可覆盖显示面板541,当触控面板531检测到在其上或附近的触摸操作后,传送给处理器580以确定触摸事件的类型,随后处理器580根据触摸事件的类型在显示面板541上提供相应的视觉输出。虽然在图5中,触控面板531与显示面板541是作为两个独立的部件来实现手机的输入和输入功能,但是在某些实施例中,可以将触控面板531与显示面板541集成而实现手机的输入和输出功能。
手机还可包括至少一种传感器550,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板541的亮度,接近传感器可在手机移动到耳边时,关闭显示面板541和/或背光。作为运动传感器的一种,加速计传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等; 至于手机还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
音频电路560、扬声器561,传声器562可提供用户与手机之间的音频接口。音频电路560可将接收到的音频数据转换后的电信号,传输到扬声器561,由扬声器561转换为声音信号输出;另一方面,传声器562将收集的声音信号转换为电信号,由音频电路560接收后转换为音频数据,再将音频数据输出处理器580处理后,经RF电路510以发送给比如另一手机,或者将音频数据输出至存储器520以便进一步处理。
WiFi属于短距离无线传输技术,手机通过WiFi模块550可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图5示出了WiFi模块550,但是可以理解的是,其并不属于手机的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。
处理器580是手机的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在存储器520内的软件程序和/或模块,以及调用存储在存储器520内的数据,执行手机的各种功能和处理数据,从而对手机进行整体监控。可选的,处理器580可包括一个或多个处理单元;优选的,处理器580可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器580中。
手机还包括给各个部件供电的电源590(比如电池),优选的,电源可以通过电源管理系统与处理器580逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。
尽管未示出,手机还可以包括摄像头、蓝牙模块等,在此不再赘述。
在本发明实施例中,该终端所包括的处理器580还具有以下功能:
监控第二应用是否触发网页请求;
如果第二应用触发网页请求,则判断所述网页请求是否被第一wifi应用劫持;
如果所述网页请求被第一wifi应用劫持,则将劫持后的网页请求中的第二网址替换为劫持前的第一网址以进行访问。
当然,处理器还可以执行上述其他可以在所在设备侧的方法的步骤。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取存储器(RAM,RandomAccess Memory)、磁盘或光盘等。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上对本发明所提供的一种反wifi劫持设备进行了详细介绍,对于本领域的一般技术人员,依据本发明实施例的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。