史上最詳細域名連結被微信封殺攔截圖蔽解決方案

VX_mkapi001發表於2020-02-17

想透過活動營銷來推廣產品的使用者,肯定經常遇到域名被微信封殺攔截圖蔽的情況,想申請恢復訪問過程複雜,而且由個人或小團隊經營的網站基本只能放棄,花錢解封價格昂貴,遇到惡意舉報還是一樣被封,如此迴圈帶來的損失無疑是很大的,都是在做推廣,為何有人推廣起來暢通無阻,而有人的微信域名頻繁被封,其實微信被攔截被封無法訪問很常見,經過測試以後還是可以防止微信域名被封的,並且很多團隊也是透過微信域名防封的技術讓域名存活的時間更長。那我們要怎樣如何快速知道域名已經被微信封殺並恢復訪問呢?我們從以下幾方面來了解:

一.域名被微信攔截的因素

1、舉報。包括使用者舉報,同行惡意舉報,提交微信團隊檢測後進行封殺。

2、轉發量過大。轉發也是提供產品曝光率和點選率的必要手段,但是轉發次數多也會觸發系統的自動檢測系統從而被封殺。

3、內容。微信或人工檢測到內容不實、侵權、誘導分享、營銷廣告、BC或擦邊球等等,都會導致域名被加入黑名單。

 

二.解決方案,可以從兩方面著手,一是硬方面,二算是軟方面

硬方面:就要是伺服器,伺服器方面是目前很多大家在做的,很多做防封的朋友都一樣這種經歷,例如把自己的域名解析到防封平臺的伺服器上,很詭異的是確實被封的機率確實降低了很多。這種形式操作的防封平臺有很多,最早以前做的是微盾一批人是這麼做的,而微盾現在已經不做了。這種技術我們叫做反向代理,但是不持久。那主要還是要從軟方面著手,下面這裡就具體說下這方面:

1、防舉報

不管怎麼說舉報是一個很傷人的事情,因為同行競爭麼很正常,這塊防止舉報甚至已經有人研究出微信舉報按鈕透過底層技術破解,讓對方無法舉報。但是聽說效果都不怎麼樣,也是會莫名奇妙被封。所以一般逃避舉報最簡單粗暴的方式就是做跳轉,所以現在防止舉報都是加密+跳轉的形式,這樣被舉報的機率幾乎很小。

2、檢測工具

做檢測微信域名檢測工具的一般都會提供一些防封,而防封的操作效果其實很簡單,流程就是透過檢測工具檢測是否被封,如果被封就找尋一個沒有封的訪問。所以他們採用的技術是檢測工具+反向代理技術,也是目前市場主流用的技術。

3 、利用短網址智慧(人工+ 系統)輪換推廣,尤其是那些大站的短網址,比如.url 和.cn 以及10086 的,這樣的話沒那麼容易被微信針對,從而可以規避一定的風險,而且短網址更有利於讓客戶記住還可以防篡改。

4 、智慧更換RUL 結構,儘量使RUL 趨於正常連結,這樣機器人一般是識別不出來有問題的。

5 、域名切換訪問閥值處理,當一條域名的點選量達一定值的時候自動跳轉到另一條域名進行訪問,這樣可以避免量太大而被微信注意到。

6 、智慧更換頁面程式碼結構,並將頁面程式碼加密,這樣做的好處是規避進微信黑名單,這一點做起來可能有點困難。

下面分享程式碼供各位大佬參考,更多想法可以和我一起交流

import java.io.BufferedReader;
import java.io.DataOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.UnsupportedEncodingException;
import java.net.HttpURLConnection;
import java.net.URL;
import java.net.URLEncoder;
import java.util.HashMap;
import java.util.Map;
import net.sf.json.JSONObject;public class Demo {
  public static final String DEF_CHATSET = "UTF-8";
  public static final int DEF_CONN_TIMEOUT = 30000;
  public static final int DEF_READ_TIMEOUT = 30000;
  public static String userAgent =  "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/29.0.1547.66 Safari/537.36";
  publicstaticvoidmobileQuery(){
      String result =null;
String url ="請求介面地址      Map params = new HashMap();//請求引數        params.put("appkey" , "appkey");//您申請的APPKEY        params.put("url" , ");//需要查詢的網站      try {
          result = net(url, params, "GET");
          JSONObject object = JSONObject.fromObject(result);
          if(object.getInt("error_code")==0){
            System.out.println(object.get("result"));
          }else{
            System.out.println(object.get("error_code")+":"+object.get("reason"));
          }
      } catch (Exception e) {
        e.printStackTrace();
      }
  }
  publicstaticvoidmain(String[] args) {
  }
  /**
  *
  * @param  strUrl 請求地址
  * @param  params 請求引數
  * @param  method 請求方法
  * @return    網路請求字串
  * @throws  Exception
  */  publicstaticStringnet(String strUrl, Mapparams,String method) throws Exception {
    HttpURLConnection conn = null;
    BufferedReader reader = null;
    String rs = null;
    try {
        StringBuffer sb = new StringBuffer();
        if(method==null || method.equals("GET")){
          strUrl = strUrl+"?"+urlencode(params);
        }
        URL url = new URL(strUrl);
        conn = (HttpURLConnection) url.openConnection();
        if(method==null || method.equals("GET")){
          conn.setRequestMethod("GET");
        }else{
          conn.setRequestMethod("POST");
          conn.setDoOutput(true);
        }
        conn.setRequestProperty("User-agent", userAgent);
        conn.setUseCaches(false);
        conn.setConnectTimeout(DEF_CONN_TIMEOUT);
        conn.setReadTimeout(DEF_READ_TIMEOUT);
        conn.setInstanceFollowRedirects(false);
        conn.connect();
        if (params!= null && method.equals("POST")) {
          try {
              DataOutputStream out = new DataOutputStream(conn.getOutputStream());
              out.writeBytes(urlencode(params));
          } catch (Exception e) {
              //TODO:handle exception              e.printStackTrace();
          }
        }
      InputStream is = conn.getInputStream();
      reader = new BufferedReader(new InputStreamReader(is, DEF_CHATSET));
      String strRead = null;
      while ((strRead = reader.readLine()) != null) {
        sb.append(strRead);
      }
      rs = sb.toString();
    } catch (IOException e) {
      e.printStackTrace();
    } finally {
      if (reader != null) {
          reader.close();
      }
      if (conn != null) {
          conn.disconnect();
      }
    }
    return rs;
  }
  //將map型轉為請求引數型  publicstaticStringurlencode(Map<String,String> data) {
      StringBuilder sb = new StringBuilder();
      for (Map.Entry i : data.entrySet()) {
          try {
              sb.append(i.getKey()).append("=").append(URLEncoder.encode(i.getValue()+"","UTF-8")).append("&");
          } catch (UnsupportedEncodingException e) {
              e.printStackTrace();
          }
      }
      return sb.toString();
  }
}


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69961019/viewspace-2675953/,如需轉載,請註明出處,否則將追究法律責任。

相關文章