1. 程式人生 > >HTML5頁面被運營商DNS劫持問題及解決方案,app中h5頁面原始碼的獲取

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劫持問題解決方案apph5頁面原始碼獲取

App應用的html5頁面經過運營商的行動網路(非wifi網路),被強制插入廣告和手機管家的多餘資訊,在有些場景嚴重干擾使用者的操作,也產生在美麗的頁面上加入了不協調的懸浮層。並且這個手機管家類的懸浮層有時間出現,有時間不出現,神出鬼沒,雖然你可以通過點選關閉手

DNS 劫持解決方案之 HTTPDNS

1. 為什麼會有 DNS DNS 即域名系統(Domain Name Server),其主要用於將域名解析為對應的 IP 地址。 那麼為什麼會有域名到 IP 地址的解析這一需要呢?就需要從人的角度和計算機的角度去分析了。 人的角度:網路上的主機一般是通過

你可能已經運營http劫持

軟件 索引 憤怒 iis7 小明 代碼檢查 size 所有 caption IIS7.COM網站劫持檢測 1、檢測網站是否被劫持2、域名是否被墻3、DNS汙染檢測4、網站打開速度檢測5、網站是否被黑、被入侵、被改標題、被掛黑鏈 【深度檢測】1、可以檢測多層js劫持、圖片

面對電信運營HTTP劫持如何是好投訴太折騰不如路由器直接遮蔽廣告源

最近發現不管電腦還是手機訪問 www。jd。com 或一號店蘇寧國美之類購物網站都會被劫持到 p.yiqifa.com/xxx網址,然後返回帶推廣引數的京東等電商網址,如上圖,各位搞網站的朋友一眼就能看出來,這個是HTTP劫持京東,302重定向到 yiqifa,然後y

網絡分流器|運營光纖延距解決方案

dbm 優點 shadow log 過大 eee 成本 ffffff 故障 網絡分流器|運營商光纖延距解決方案|戎騰網絡 一、引言|網絡分流器 隨著三網融合的推行,突破接入網的技術瓶頸變得越來越迫切,只有突破目前接入部分的帶寬局限,才能使整個網絡有效發揮帶寬的作用,真正推動

Oracle包鎖定的原因分析解決方案

死鎖是資料庫經常發生的問題,資料庫一般不會無緣無故產生死鎖,死鎖通常都是由於我們應用程式的設計本身造成的。產生死鎖時,如何解決呢,下面是常規的解決辦法: 1)執行下面SQL,先檢視哪些表被鎖住了:  select b.owner,b.object_name,a.session_id,a.locked_mode

關於vue 使用 webuploader 遇到的坑解決方案本文以分片上傳為例解說上傳壓縮包大小為2G左右在專案實測

首先說一下vue中使用webuploader該如何引入呼叫   1. 肯定是安裝操作, 本人用的是淘寶映象 cnpm i webuploader -S  如果你沒有安裝淘寶映象,則使用 npm i webuploader -S   2. 引入操作,在具體的vue元件中引入 , import We

用cookie解決新版微信H5頁面底部白條問題

背景        5月23日微信更新6.6.7版本,新加的文章縮小浮窗功能確實很贊。不過,有一處更新頗使H5開發者感到困擾,就是在iPhone上H5頁面最底部多了一個白色的前進後退控制欄,即下圖底部的那個白條,        分析        在微信裡只要發生頁面跳轉,這

APPH5頁面實現撥打電話功能

薩瓦迪卡,歡迎大家~~ <a href="tel:400-0000-000">400-0000-000</a> //如失效,就在head標籤里加上 <meta name="format-detection" content=

如何防止運營網路劫持避免他人強行插入廣告?

主要的網路劫持形式: 近年來流量劫持(運營商網路劫持)頻頻發生,各種方式也是層出不窮,易維信-EVTrust總結各種網路劫持現象和其帶來的危害 1、域名劫持,使用者想要訪問網站A,域名卻被解析到其它地址,使用者無法正常訪問想要訪問的頁面,網站流量受損。如果域名被解析到惡意釣魚網站,導致使用者財產損失,例如網

運營劫持js的解決辦法

    前言:一直以來有一個問題困擾著我,就是網頁的js被人替換掉,然後造成自己辛辛苦苦寫的程式碼,變成了bug程式碼,,無奈之下,嘗試過工信部投訴,但是投訴沒多久,牛皮癬出來了,為了暫時解決這個問題,就臨時想了一個辦法解決。     一、首先看一下我的js被替換成什麼樣子

解決運營流量劫持的方法

IV eat || UNC cti 流量 ret bsp ram <script> document.createElement_1 = document.createElement; document.creat

如何防止運營內容劫持(http劫持)

     伺服器遠端桌面連線 目前來看,根據我的經驗,運營商內容劫持是通過白名單策略進行的,主要是針對高流量的訪問地址,如微信API,jiathis分享程式碼,微博網頁等進行. 主要表現為js指令碼注入,和 html內容 注入.自己的JS程式碼. 因此,就預防來說,比如,頁

linux的dns劫持解決方案

如何解決linux dns被劫持? 1.首先如何確定是否被劫持: 那麼查詢一個並不存在的域名 nslookup mmmmm.happy  如果返回了一個ip地址,說明dns被劫持了,假設此ip地址為:123.34.5.6 那麼用8.8.8.8域名伺服器解析一下此錯誤域名試試

【轉】全國各運營DNS彙總

北京DNS地址:202.96.199.133 202.96.0.133 202.106.0.20 202.106.148.1 202.97.16.195 上海DNS地址:202.96.199.132 202.96.199.133 202.96.209.5 202.96.20

SS速度慢——最大的可能是運營QoS了

SS速度慢怎麼辦?這是一個經常被問起的問題。原因有千萬種,最大的可能是網路被運營商QoS了。 什麼是QoS? 簡單點說就是:運營商為了優化使用者的網路體驗,會區分網路應用的優先順序,最最最常見的優先順序規則是使用80埠的http包優先順序最高。 QoS的影

AppStore IPv6-only審核拒原因分析解決方案

穩定 eip ios 穩定性 only 應用服務器 http 一個 搭建 AppStore IPv6-only審核被拒原因分析及解決方案 http://www.jianshu.com/p/8edfdfa20b29 自2016年6月1日起,蘋果要求所有提交App St

DNS汙染和DNS劫持解決辦法

dns 劫持 和 汙染DNS汙染是指一些刻意制造或無意中制造出來的域名服務器分組,把域名指往不正確的IP地址。DNS劫持又稱域名劫持,是指在劫持的網絡範圍內攔截域名解析的請求,分析請求的域名,把審查範圍以外的請求放行,否則返回假的IP地址或者什麽都不做使請求失去響應,其效果就是對特定的網絡不能訪問或訪問的是假

小程式windowHeight在不同頁面高度不一致問題解決方案

小程式可以通過wx.getSystemInfo獲取系統資訊    1. windowHeight 概念 可使用視窗高度,即:螢幕高度(screenHeight) - 導航(tabbar)高度 - 導航欄高度 - 狀態列高度。 在不含導航(tabbar)的

Android多程序appApplication回撥onCreate()方法執行多次分析解決

最近工作中碰到一個問題,在優化app,使用DDMS檢視Application log過程中看到,app啟動了三個程序,一個主程序,兩個附帶的程序。如下圖可看到一個app啟動的三個程序。  自定義Application回撥方法onCreate()被執行了3次。開始不知是何原因。 相