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页面源码的获取相关推荐

  1. 防止被运营商DNS劫持 作者:zzc

    文章目录 网络环境 一.网络劫持 怎么劫持网络 互联网劫持 国内公共DNS 国外公共DNS **想用DNS来访问Google是不可取的** 网络环境 这部分不会多写,仅供个人娱乐 一.网络劫持 在家用 ...

  2. 修复运营商网站劫持,Win8.1怎么修改DNS

    说到运营商网站劫持,相信大多数读者也是身受其害,今天Win8迷:整理下,Win7.Win8.Win8.1系统下如何修改系统的DNS服务器,以及为自己的网络挑选最佳的DNS,轻松上网. 什么是DNS劫持 ...

  3. 运营商 html劫持 原理,域名劫持、运营商流量劫持的现象及分析

    1.域名劫持 现象就是,打开网站的页面,会出现莫名的跳转到站内或站外其他的网址.或者直接显示了站外的内容. 判断方法,更换其他绑定您网站的域名来访问,看是否正常.如果其他域名访问正常,应该基本确定是被 ...

  4. 如何防止运营商网络劫持,避免被他人强行插入广告?

    主要的网络劫持形式: 近年来流量劫持(运营商网络劫持)频频发生,各种方式也是层出不穷,易维信-EVTrust总结各种网络劫持现象和其带来的危害 1.域名劫持,用户想要访问网站A,域名却被解析到其它地址 ...

  5. linux 劫持广告技术,屏蔽运营商广告劫持 - gcudwork的个人空间 - OSCHINA - 中文开源技术交流社区...

    在今天早上我查找知乎时再次遇到了恶心的运营商广告劫持,右下角硕大的广告直接让知乎挂掉了,我刷了五次知乎才好,之前休息的时候逛知乎也是多次加载错误,估计也是这劫持的锅,相信各位也遇到过不少的运营商劫持插 ...

  6. 国内常用公共DNS服务器、各省运营商DNS服务器汇总

    不知道大家有没有过网络是正常的,QQ可以正常登录.游戏也可以正常玩,但是网页无论如何都打不开.这就是电脑网络设置的DNS服务器有问题,不是其故障就是不工作了. 换了DNS服务器成功解决问题.下边给大家 ...

  7. 防治运营商HTTP劫持的终极技术手段

    运营商HTTP劫持(非DNS劫持)推送广告的情况相信大家并不陌生,解决的方法大多也是投诉增值业务部门进而投诉工信部.但这种方法费时费力,投诉接听人员并不了解情况导致答非所问的情况有很多,有时候不但受气 ...

  8. 运营商 html劫持 原理,细数宽带运营商常见的几种http劫持行为

    什么是http劫持:http劫持就是第三方(宽带运营商)在你和网站建立交互过程中劫持了你的请求,并返回错误页面的行为,宽带运营商作为基础电信网络服务提供者, 掌握着用户通往互联网大门的钥匙,用户的所有 ...

  9. 第32篇:某运营商链路劫持(被挂博彩页)溯源异常路由节点(上篇)

     Part1 前言  在世界杯举办期间,链路劫持的攻击风险估计会升高很多.链路劫持攻击是各类应急响应事件中危害比较大的,溯源起来有一定的难度,很多新手会感觉无从下手.本次ABC_123就分享一个自己曾 ...

最新文章

  1. SharePoint 2010中的客户端AJAX应用——ASP.NET AJAX模板
  2. LCS最长公共子序列和LIS最长上升子序列——例题剖析
  3. 从0到25万人,阿里巴巴是如何面试的?(附模板)
  4. laravel5.5的定时任务详解(demo)
  5. mac 上安装服务,查看服务,重启和关闭
  6. 扎克伯格正用“山寨”策略碾压Snapchat
  7. JAVA 基础算法汇总(持续更新)
  8. testbench的设计
  9. Windows10 64位系统安装EPLAN P8 2.6教程
  10. php ZipArchive 压缩整个文件夹 - 自带ZipArchive类 - PHP递归创建目录压缩包
  11. SpringCloud ——@RefreshScope
  12. 拼多多回应漏洞:比薅羊毛更快的是“资损200亿”谣言的传播速度
  13. 360云盘 上传服务器忙,360云盘由于服务器压力延期一年关闭 可以慢慢转移资源了...
  14. 3d打印材料有哪几种
  15. 【协议】NVMe over RoCE 初探 SATA接口(AHCI协议)、PCIe 接口(NVMe 协议)
  16. 书籍折页是什么效果_问题:WPS里页面设置中的拼页,书籍折页,反向书籍折页分别是什么意思?打印出来的效果是什么样的? 要双面打印...
  17. go-kit入门指南
  18. 并行计算范式-SIMD vs SIMT vs SMT: What’s the Difference Between Parallel Processing Models?
  19. python模糊神经网络预测_MATLAB模糊神经网络的预测算法--预测水质
  20. 超云服务器 节能清单,天地超云推出高温节能服务器新品--科技--人民网

热门文章

  1. c语言银行算法管理,C语言实现银行家算法
  2. 怎么把旧iphone上的交通银行卡转移到新iphone
  3. 漫谈android系统(9)-androidO的Android Treble 计划与大的变动
  4. Spring生命周期中的常见接口
  5. 华大HC32F460 MPU6050实验
  6. JSP Servlet 实现模糊动态查询并分页(拼接Sql)
  7. 【推荐】Twitter推荐算法架构
  8. 美国的穷人穷到什么程度?
  9. Unity 基础 之 实现枚举(enum/Enum)遍历的三种简单方法(foreach/for)
  10. 一份非常值得一看的Java面试题