史上最详细微信域名检测及微信域名防封实现方案

2,228 阅读4分钟

一、最近因为业务需要,在研究微信跳转,域名防封检测等东西,网上搜集了很多很多资料,就把所有看过的帖子里例举出来的原理和方案,以及我自己的总结写一下。一、微信检测手段微信检测违规的两个手段:a)系统的自动检测 b)微信工作人员的人工检测。1、人工的检测重要是源于多用户投诉举报,微信后台有一个警报机制,在多少时间内积累充足的举报次数,将列入风险名单,对风险名单中 筛出来的,工作人员可能就会介入检测来确认2、微信后台自动检测(检测页面内容、关键词、描述和图片,URL、IP、友链黑名单等等…)当微信域名被屏蔽被拦截后,如下图,说明已经进被微信封杀了

现在市场上有两种防封方案,第一种就是检测微信棋牌游戏域名并将域名切换。首先你要有一个微信域名检测接口,配置好你的接口请求程序,准备2套域名A和B。我们分享出去的域名是
A,但点开后跳到B,前提是要检测一下B有没有被封,这里我们的B一般需要准备几十甚至上百个,利用域名检测接口可以轻松实现被封自动切换。这种防封方式一般是比较浪费域名的,而且效果也一般。

第二种是多级矩阵加密跳转,这里需要注意的是,着陆页的域名尽可能长一点,落地域名采用多层动态加密形式,有效的保护好我们的原始推广落地页地址。如果是通过海报推广的用户还可以用到我们的活码接口,保证扫描二位码后的链接能够得到有效的切换,延长海报使用寿命。通过实践证明,多级矩阵加密防封效果更好、稳定性会更高。

那种需要玩家扫描并且需要微信绑定获取玩家信息的只能用这种防封方案,再结合微信内置浏览器直接下载APP
接口直接下载app
,减少用户收到选择浏览器下载的繁琐,这样可以将推广流量转化率最大化,也更有效的保护微信棋牌域名,这种方案也不浪费域名,前期只需要准备5到8个阿里云备案并且没有被拦截过的域名,最好是.com和.cn的。
下面分享下思路:

1、防举报

不管怎么说举报是一个很伤人的事情,因为同行竞争么很正常,这块防止举报甚至已经有人研究出微信举报按钮通过底层技术破解,让对方无法举报。但是听说效果都不怎么样,也是会莫名奇妙被封。所以一般逃避举报最简单粗暴的方式就是做跳转,所以现在防止举报都是加密+
跳转的形式,这样被举报的概率几乎很小。


2、检测工具

做检测微信域名检测工具的一般都会提供一些防封,而防封的操作效果其实很简单,流程就是通过检测工具检测是否被封,如果被封就找寻一个没有封的访问。所以他们采用的技术是检测工具+反向代理技术,也是目前市场主流用的技术。

3、利用短网址智能(人工+系统)轮换推广,尤其是那些大站的短网址,比如.url和.cn以及10086的,这样的话没那么容易被微信针对,从而可以规避一定的风险,而且短网址更有利于让客户记住还可以防篡改。

4、智能更换RUL结构,尽量使RUL趋于正常链接,这样机器人一般是识别不出来有问题的。

5、域名切换访问阀值处理,当一条域名的点击量达一定值的时候自动跳转到另一条域名进行访问,这样可以避免量太大而被微信注意到。

6、智能更换页面代码结构,并将页面代码加密,这样做的好处是规避进微信黑名单,这一点做起来可能有点困难。

有需要可以和我一起探讨微信域名检测及微信域名防封最新实现方案

最后分享代码供大家参考:

$url = "http://api.monkeyapi.com";$params = array('appkey' =>'appkey',//您申请的APPKEY'path' =>'/home',//需要切换的路由(非必传)); $paramstring = http_build_query($params);$content = Curl($url, $paramstring);$result = json_decode($content, true);if($result) {    var_dump($result);}else {    //请求异常} /**    * 请求接口返回内容    * @param    string $url [请求的URL地址]    * @param    string $params [请求的参数]    * @param    int $ipost [是否采用POST形式]    * @return    string*/function Curl($url, $params = false, $ispost = 0){    $httpInfo = array();    $ch = curl_init();     curl_setopt($ch, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_1);    curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 60);    curl_setopt($ch, CURLOPT_TIMEOUT, 60);    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);    if ($ispost) {        curl_setopt($ch, CURLOPT_POST, true);        curl_setopt($ch, CURLOPT_POSTFIELDS, $params);        curl_setopt($ch, CURLOPT_URL, $url);    }else {        if ($params) {            curl_setopt($ch, CURLOPT_URL, $url.'?'.$params);        } else {            curl_setopt($ch, CURLOPT_URL, $url);        }    }     $response = curl_exec($ch);        if ($response === FALSE) {        //echo "cURL Error: " . curl_error($ch);        return false;    }     $httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);    $httpInfo = array_merge($httpInfo, curl_getinfo($ch));    curl_close($ch);    return $response;}