微信域名防封真的有用嗎

樂樂多多發表於2020-06-08

 說到域名被微信封殺,是大部分微信推廣中最苦惱的問題。自己辛辛苦苦推廣的頁面,隨時有可能被微信遮蔽,所有的努

力都白費。所以做好微信域名防封至關重要


  域名防封帶來最大的損失當然是使用者流量和轉化率的問題,沒有流量和轉化率也就意味著你的產品沒有收入。那麼微信屏

蔽第三方連結的因素有哪些?我們又該如何做到微信域名防封呢?這其實要藉助一些技術手段來實現有效的防封措施了。

下面就給大家詳細解讀實現原理。


先談談為什麼會被攔截:

  1.    被舉報。


  2.    網站有敏感詞或違規內容。


  3.    域名分享量太大,觸碰上限導致。


那麼我們應該如何預防域名被封呢


1、伺服器


伺服器方面是目前很多大家在做的,很多做防封的朋友都一樣這種經歷,例如把自己的域名解析到防封平臺的伺服器上,

很詭異的是確實被封的機率確實降低了很多。這種形式操作的防封平臺有很多,最早以前做的是微盾一批人是這麼做的,

而微盾現在已經不做了。這種技術我們叫做反向代理,但是不持久。


2、域名


域名也是一個很關鍵的問題。很多客戶都喜歡買備案域名,認為能很好的防止被封,認為已經很高階了,其實往往不是 一

個抗壓的域名不是根據備案不備案。就這麼說吧,你不備案的域名不一定持續時間短。這個是有一個強大的分析域名的各

種衡量標準,其中一個標準首先是要檢測的改域名,備案資質是否備案過N個域名,這是其中一個檢測的標準,而真正一個

抗壓域名內部價格是500左右,不瞭解的人一般會花1000左右去購買,這是一個非常昂貴的消費,所以上面做反向代理防

封的客戶是不提供域名的,因為其本身就是抗壓域名的昂貴型。


3、程式碼


市面上的平臺是沒有采取程式碼加密做防封的,但是經常用的是一個載入映象,但是載入映象這一塊一樣容易被微信檢測到

,甚至還存在秒封的情況。真正透過程式碼加密的幾乎沒有任何防封平臺來做,因為實現起來很麻煩。雖然沒有防封平臺做

,但是有部分網站已經做了甚至做的非常不錯,都是一些自己私人的網站,我也是透過對他們網站進行程式碼抓包和分析研

究出來的一種特殊加密方式。


4、舉報


不管怎麼說舉報是一個很傷人的事情,因為同行競爭麼很正常,這塊防止舉報甚至已經有人研究出微信舉報按鈕透過底層

技術破解,讓對方無法舉報。但是聽說效果都不怎麼樣,也是會莫名奇妙被封。所以一般逃避舉報最簡單粗暴的方式就是

做跳轉,所以現在防止舉報都是加密+跳轉的形式,這樣被舉報的機率幾乎很小。


5、檢測工具


做檢測微信域名檢測工具的一般都會提供一些防封,而防封的操作效果其實很簡單,流程就是透過檢測工具檢測是否被封

,如果被封就找尋一個沒有封的訪問。所以他們採用的技術是檢測工具+反向代理技術,也是目前市場主流用的技術。


可參考下列Java程式碼示例:

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";
  public static void mobileQuery(){
      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();
      }
  }  public static void main(String[] args) {
  }  /**
   *
   * @param  strUrl 請求地址
   * @param  params 請求引數
   * @param  method 請求方法
   * @return    網路請求字串
   * @throws  Exception
   */
  public static String net(String strUrl, Map params,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型轉為請求引數型
  public static String urlencode(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();
           }//想進一步瞭解可加q3396103977或 v mkapi005
       }       return sb.toString();
  }
}




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

相關文章