Linux中使用Chrome瀏覽器xdg-open彈出窗口問題溯源及解決


1、問題現象

在Linux下使用Chrome的時候,經常會莫名奇妙彈出xdg-open窗口,如下圖

點擊"打開 xdg-open',會出現調用app的命令,像淘寶、優酷等等各種手機。但是由於是PC,沒有安裝手機APP,調用失敗出現錯誤,如下圖

2、原因分析

(1)網站問題:一開始我還以為是網站為了盈利做的廣告,等到我自己完全干凈的網站訪問時也出現類似的xdg-open彈出窗口才發現問題並沒有這么簡單。

(2)電信劫持:通過Chrome的調試工具發現,我在gitee掛的公益書籍網站docsify.js文件內容被替換了,到gitee上源碼內容又是正常的。我單獨訪問這個js文件,多刷新幾次后,內容又正常了。看來文件從服務器傳輸到客戶端時被替換劫持了。在Chrome調試工具中網絡傳輸記錄上可以看到,實際傳輸了兩個docsify.js文件,因此網頁顯示的內容還是保持正常的。docsify.js文件內容被替換后會調用 https://co.puretou.com/iquery.min.js,文件內容是一堆編碼后的內容,效果是會調用各種app,如下圖:

(3)真是電信的問題? 根據第(2)步的分析,我認為是電信服務商的問題,於是給電信客服電話,核實了DNS沒有錯誤,並且要了一個非默認的DNS(以前有過路由器DNS問題,手機通過瀏覽器下載APP軟件,APK文件會被替換成推廣的軟件),然而情況沒有好轉。於是我使用手機4G開熱點,使用移動網絡,問題依舊。因此看起來要么電信、移動烏鴉一般黑,都搞劫持廣告推廣。然而我日常使用的時候騰訊網站從來沒有彈出過這種窗口,所以不一定是電信服務商問題。因為服務商不會僅僅放過騰訊公司。

(4)后來問 題解決后,看到網友在iMAC使用safari瀏覽器也出現同樣的問題,參見文章https://www.douban.com/note/734256908/ ,網友猜測是遭遇了“CDN回源路徑劫持”。我覺得可能性非常大,網站的源代碼中就有使用CDN的代碼,如下圖

3、問題解決

由於這種劫持方式是將某一個js腳本替換成虛假js,然后再由虛假js調用https://co.puretou.com/iquery.min.js,最后的iquery.min.js調用大批廣告代碼,因此可以通過屏蔽域名 co.puretou.com 的方式解決。以下方法選任意一種。

(1)在Linux中,打開/etc/hosts 文件,在其中加入以下條目,將廣告網站解析到本地地址。

127.0.0.1    co.puretou.com

(2)第一種方法只能解決一台電腦,為了家里的所有設備(手機、筆記本)都不受廣告騷擾,更好的方式是在家中路由器上屏蔽。現在的路由器基本上都有這種安全功能。

4、總結

現在國內的網絡生態真的是非常差,網速提升了,但是網絡內容遍地都是帶顏色的內容圖片。前段時間以為女教師給學生上網課就被帶色的廣告軟件騷擾,還冤枉地以”操作不熟練“接受了處分。現在的windows系統里面,各種莫名奇妙的彈出窗口數不勝數,很多還是大公司們在借此盈利。chrome內容劫持比較隱蔽,手機上還以為是網站提供的彈出廣告,仔細溯源才發現其中隱藏的灰色。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM