微信域名檢測、防封,微信跳轉技術揭祕(一) -- 域名檢測原理及防封方案

 

背景php

最近由於業務須要,在研究微信跳轉,域名防封檢測等東西,網上搜集了不少不少資料,發現竟然這麼簡單的一點東西 竟然有人專門作成系統拿去賣錢.. 系統功能就只是個微信跳轉而已,微信跳外部瀏覽器  或者瀏覽器跳到微信內..  並且搜出來不少家這種收費的系統,界面都如出一轍.. 真的是無語了。據說這還屬於灰產... 我把這些弄出來是否是也能夠拿去賣錢了?哈哈哈。html

 

在網上搜索了不少相關的資料和帖子,發現不少都是大同小異的,原理其實都差很少, 可是搜了不少,它就是不把關鍵代碼和原理告訴你... 也是,告訴你了 還怎麼賺錢呢,哈哈哈.不過既然是作技術的,既然人家不告訴你,那就只要本身研究了。研究了幾天,算是有點結果了。就把全部看過的帖子裏例舉出來的原理和方案,以及我本身的總結寫一下。web

 

1、微信檢測手段瀏覽器

微信檢測違規的兩個手段:a)系統的自動檢測 b)微信工做人員的人工檢測。
一、人工的檢測重要是源於多用戶投訴舉報,微信後臺有一個警報機制,在多少時間內積累充足的舉報次數,將列入風險名單,對風險名單中 篩出來的,工做人員可能就會介入檢測來確認
二、微信後臺自動檢測(檢測頁面內容、關鍵詞、描述和圖片,URL、IP、友鏈黑名單等等...)服務器

當微信域名被屏蔽被攔截後,以下圖,說明已經進入黑名單了微信

 

2、域名被封常見因素app

域名被封,確實有不少因素,簡單列舉下:dom

一、域名歷史,有過違規記錄,風險名單中的重點高頻檢測。;
二、qq和微信是不一樣的監測機制,同時兩邊推廣很危險,會被封的很快;
三、網站流量大,微信裏有個傳播2000次就被屏蔽的問題,好比分享賺錢的平臺;
四、誘導分享傳播,即便是合法營銷,也會被封;
五、內容 標題 關鍵詞 描述 主體 頁頭頁腳 有風險違規詞的,被系統輪詢測到了;
六、項目競爭大,同行舉報過多,有人開發了模擬人爲無限次舉報的軟件;
七、有的是封連接不封域名,由於是第三方平臺,好比有贊平臺等。
八、 關聯,服務器 IP 友鏈 鄰居有違規的,重點檢測。
九、圖片,視頻,對於明顯特徵或複用度高的違規圖片,系統是能識別的網站

 

3、域名檢測方法url

搜索資料的過程當中,發現了好幾個說能夠檢測的方法,但實際上有的方法已經失效,有的方法效果也不太好:

一、利用微信公衆號接口 生成微信短鏈接

  看別人帖子裏說的檢測原理是:

  1)生成短短連接後,程序按期去請求打開地址,判斷是否重定向到 weixin110.qq.com/xxxx 等地址去. 若是重定向過去了則說明基本是打不開了。

  2)還有的是程序請求打開地址,而後用程序識圖 看界面上是否存在紅色大圓點..若是存在則說明被封禁了,須要換個地址從新生成.  大概就這兩種.. 

  這種方式至少看到過兩篇文章說過,可是效果好像都不太理想,有的甚至生成短連接後秒封..並且須要微信公衆號操做,我這邊業務不設計到這個,也沒有運營的公衆號,因此沒有深究這個方法。

二、網頁版微信抓包

  此方法意思也就是 經過抓包,抓取打開微信裏的連接時請求校驗地址是否合法的接口, 可是這個方法我也嘗試過,抓不到接口,正常連接跳轉沒有校驗的請求,被封禁的地址 就直接打不開了。後面也試了網上找的其餘接口,也無效。

  請求的都是 weixin110.qq.com 開頭的地址.. 可是實際上沒什麼用..好比下面這個... 點擊就沒反應

  https://weixin110.qq.com/cgi-bin/mmspamsupport-bin/newredirectconfirmcgi?main_type=2&evil_type=20&source=2&url=https%3A%2F%2Fcandy.one

三、「官方」檢測接口

  下面這個是網上找到的另一個說是能夠檢測地址的接口,看這Url確實像是個檢測地址的接口對吧?呵呵,可是實際也沒什麼用..打開沒反應,不跳轉,頁面也沒有任何輸出..

  https://wx2.qq.com/cgi-bin/mmwebwx-bin/webwxcheckurl?requrl=http%3A%2F%2Fwww.penhot.com

四、可用接口

  http://qbview.url.cn/getResourceInfo?appid=31&url=http://www.wangzhesha.com

  找了好久終於才找到這個能夠檢測的接口.. 雖然表現形式上 算不上是真正的API形式吧.. 可是也能檢測出是否有沒有被封禁來。

  後面的url改爲你想要檢測的地址,若是沒有被封禁,則會跳轉到目標地址去,若是地址被封禁了,則會在頁面上提示出來。那麼如何用程序檢測出來呢?道理也很簡單,判斷請求響應的結果是否重定向了就行。代碼以下

 

4、檢測代碼

  

 1 [HttpPost]
 2 public ActionResult Check()
 3 {
 4     var url = Request["Url"]?.ToString() ?? "";
 5     try
 6     {
 7         var strUrl = "http://qbview.url.cn/getResourceInfo?appid=31&url=" + url;
 8         HttpWebRequest httpWebRequest = (HttpWebRequest)WebRequest.Create(strUrl);
 9         httpWebRequest.Method = "GET";
10         // 必定要設置 AllowAutoRedirect 爲false,不然若是請求包含重定向,則請求的響應會返回重定向以後的頁面內容...
11         httpWebRequest.AllowAutoRedirect = false;
12         //httpWebRequest.ContentType = "application/x-www-form-urlencoded";
13         HttpWebResponse httpWebResponse = (HttpWebResponse)httpWebRequest.GetResponse();
14         Stream responseStream = httpWebResponse.GetResponseStream();
15         StreamReader streamReader = new StreamReader(responseStream, Encoding.UTF8);
16         string strResult = streamReader.ReadToEnd();
17         int result = (int)httpWebResponse.StatusCode;
18         // 若302跳轉了則代表域名正常, 沒有跳轉說明被封禁了
19         return Content(result == 302 ? "1" : "0");
20     }
21     catch (Exception ex)
22     {
23         return Content("-1");
24     }
25 }

 

利用這個接口,就能夠本身寫出一個域名檢測的API啦!

 

5、防封方案

一、微信裏的入口域名最好用備案域名。而且要加白名單
二、不要QQ和微信同時用一個連接去推廣
三、網站內容 關鍵字、描述 圖片等,不能出現敏感詞
四、屏蔽舉報按鈕(此方法失效,嘗試過,可是對於如今的微信而言沒用.. 仍是能夠舉報)
五、結合微信超級跳轉技術,利用大站的跳轉漏洞,使用CDN,刪除跳轉來源等等.. 儘量提升Url在微信裏的存活時間,微信跳轉方法和原理詳情請看另外一篇隨筆《微信域名檢測、防封,微信跳轉技術揭祕(二) -- 微信跳轉揭祕

 

6、參考資料

 

1.http://www.penhot.com/read-study/1732.html
2.https://www.jianshu.com/p/50cefada7cbb
3.https://blog.csdn.net/weixin_44358823/article/details/86551792
4.https://www.orzlee.com/index.php/web-development/2019/01/28/wechat-domain-name-is-blocked-and-automatically-replaced-domain-name.html
5.https://short.huanghanlian.com/p/5cac62d26748ea3010382f4f
6.http://www.javashuo.com/article/p-hxakqmac-dk.html

相關文章
相關標籤/搜索