微信域名检测、防封,微信跳转技术揭秘(一) -- 域名检测原理及防封方案

 

背景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

相关文章
相关标签/搜索