HTML5页面被运营商DNS劫持问题及解决方案,app中h5页面源码的获取
App应用的html5页面经过运营商的移动网络(非wifi网络),被强制插入广告和手机管家的多余信息,在有些场景严重干扰用户的操作,也产生在美丽的页面上加入了不协调的悬浮层。并且这个手机管家类的悬浮层有时间出现,有时间不出现,神出鬼没,虽然你可以通过点击关闭,关键是突然出现,有时候还关闭不了。总之用户不喜欢这种用户不需要的选择,所以干掉它吧!
在app中h5页面源码,可以通过下面代码获得,其中url就是h5页面的源码,简单吧!
分析app收到WebViewJavascriptBridge的页面加载-(void)webViewDidFinishLoad:(UIWebView *)webView
{
NSString *url = [NSString stringWithContentsOfURL:webView.request.URL encoding: NSUTF8StringEncoding error:nil];
if (webView.canGoBack)
{
self.exitButton.hidden=NO;
}else
{
self.exitButton.hidden=YES;
}
}
通过分析,一个普通的页面,经过Wi-Fi网络,webViewDidFinishLoad只响应一次就能显示出页面。
经过移动手机网络,需要经过三次webViewDidFinishLoad调用,并且三次的h5源码都相同。
基本上从app无法很好的解决方案,除非你的页面只有一层,只让它成功调用次。若你的应用有二级页面很难控制了。
所以最终的解决方案是h5页面。只需要你访问的h5页面采用的是https不是http就能很好的解决这个问题,完美的解决DNS劫持。当然https需要你购买证书或者服务器自己做一个证书,具体https是后台开发的问题我是外行。
2017年1月1日,苹果商店禁止使用http的新应用上架,现在还允许包含http的应用上架,看来也没有一棍子打死。https是比http安全的多,虽然也有破解方案,但是对于防一般人窃取信息就够了。软件安全是相对的,防一般外行,不是防止一切"钻家"(黑客)的。很多人都会感觉黑客都是写软件很好的人,其实并非都如此,很多只对写代码了解皮毛,能简单写代码利用软件漏洞的人不在少数。
谷歌也将要拿http访问的网站开刀了,见文章《洒泪告别 神秘代码终被谷歌逼上绝路》。
WKWebView的h5页面(js页面)的源码获取和UIWebView皆然不同,需要协议拦截,但造成js的post请求的参数被清空的严重问题,所以只能在测试时使用或不需要发送带参数的post请求的js页面使用。具体参照文章《WKWebView采用HybridNSURLProtocol协议拦截图片等资源预加载》。代码片段如下:
- (void)viewDidLoad {[super viewDidLoad];[self registerNSURLProtocolScheme];
}
- (void)registerNSURLProtocolScheme
{[NSURLProtocol wk_registerScheme:@"https"];[NSURLProtocol wk_registerScheme:@"http"];
}
-(void)webView:(WKWebView *)webView didFinishNavigation:(WKNavigation *)navigation{NSString *url = [NSString stringWithContentsOfURL:webView.URL encoding: NSUTF8StringEncoding error:nil];NSLog(@"webView.URL:%@",url);
}
HTML5页面被运营商DNS劫持问题及解决方案,app中h5页面源码的获取相关推荐
- 防止被运营商DNS劫持 作者:zzc
文章目录 网络环境 一.网络劫持 怎么劫持网络 互联网劫持 国内公共DNS 国外公共DNS **想用DNS来访问Google是不可取的** 网络环境 这部分不会多写,仅供个人娱乐 一.网络劫持 在家用 ...
- 修复运营商网站劫持,Win8.1怎么修改DNS
说到运营商网站劫持,相信大多数读者也是身受其害,今天Win8迷:整理下,Win7.Win8.Win8.1系统下如何修改系统的DNS服务器,以及为自己的网络挑选最佳的DNS,轻松上网. 什么是DNS劫持 ...
- 运营商 html劫持 原理,域名劫持、运营商流量劫持的现象及分析
1.域名劫持 现象就是,打开网站的页面,会出现莫名的跳转到站内或站外其他的网址.或者直接显示了站外的内容. 判断方法,更换其他绑定您网站的域名来访问,看是否正常.如果其他域名访问正常,应该基本确定是被 ...
- 如何防止运营商网络劫持,避免被他人强行插入广告?
主要的网络劫持形式: 近年来流量劫持(运营商网络劫持)频频发生,各种方式也是层出不穷,易维信-EVTrust总结各种网络劫持现象和其带来的危害 1.域名劫持,用户想要访问网站A,域名却被解析到其它地址 ...
- linux 劫持广告技术,屏蔽运营商广告劫持 - gcudwork的个人空间 - OSCHINA - 中文开源技术交流社区...
在今天早上我查找知乎时再次遇到了恶心的运营商广告劫持,右下角硕大的广告直接让知乎挂掉了,我刷了五次知乎才好,之前休息的时候逛知乎也是多次加载错误,估计也是这劫持的锅,相信各位也遇到过不少的运营商劫持插 ...
- 国内常用公共DNS服务器、各省运营商DNS服务器汇总
不知道大家有没有过网络是正常的,QQ可以正常登录.游戏也可以正常玩,但是网页无论如何都打不开.这就是电脑网络设置的DNS服务器有问题,不是其故障就是不工作了. 换了DNS服务器成功解决问题.下边给大家 ...
- 防治运营商HTTP劫持的终极技术手段
运营商HTTP劫持(非DNS劫持)推送广告的情况相信大家并不陌生,解决的方法大多也是投诉增值业务部门进而投诉工信部.但这种方法费时费力,投诉接听人员并不了解情况导致答非所问的情况有很多,有时候不但受气 ...
- 运营商 html劫持 原理,细数宽带运营商常见的几种http劫持行为
什么是http劫持:http劫持就是第三方(宽带运营商)在你和网站建立交互过程中劫持了你的请求,并返回错误页面的行为,宽带运营商作为基础电信网络服务提供者, 掌握着用户通往互联网大门的钥匙,用户的所有 ...
- 第32篇:某运营商链路劫持(被挂博彩页)溯源异常路由节点(上篇)
Part1 前言 在世界杯举办期间,链路劫持的攻击风险估计会升高很多.链路劫持攻击是各类应急响应事件中危害比较大的,溯源起来有一定的难度,很多新手会感觉无从下手.本次ABC_123就分享一个自己曾 ...
最新文章
- SharePoint 2010中的客户端AJAX应用——ASP.NET AJAX模板
- LCS最长公共子序列和LIS最长上升子序列——例题剖析
- 从0到25万人,阿里巴巴是如何面试的?(附模板)
- laravel5.5的定时任务详解(demo)
- mac 上安装服务,查看服务,重启和关闭
- 扎克伯格正用“山寨”策略碾压Snapchat
- JAVA 基础算法汇总(持续更新)
- testbench的设计
- Windows10 64位系统安装EPLAN P8 2.6教程
- php ZipArchive 压缩整个文件夹 - 自带ZipArchive类 - PHP递归创建目录压缩包
- SpringCloud ——@RefreshScope
- 拼多多回应漏洞:比薅羊毛更快的是“资损200亿”谣言的传播速度
- 360云盘 上传服务器忙,360云盘由于服务器压力延期一年关闭 可以慢慢转移资源了...
- 3d打印材料有哪几种
- 【协议】NVMe over RoCE 初探 SATA接口(AHCI协议)、PCIe 接口(NVMe 协议)
- 书籍折页是什么效果_问题:WPS里页面设置中的拼页,书籍折页,反向书籍折页分别是什么意思?打印出来的效果是什么样的? 要双面打印...
- go-kit入门指南
- 并行计算范式-SIMD vs SIMT vs SMT: What’s the Difference Between Parallel Processing Models?
- python模糊神经网络预测_MATLAB模糊神经网络的预测算法--预测水质
- 超云服务器 节能清单,天地超云推出高温节能服务器新品--科技--人民网