前面提到了微信域名的封禁原理和检测手段以及一些基本防范的方案。详见《微信域名检测、防封,微信跳转技术揭秘(一) -- 域名检测原理及防封方案》html
要想让地址在微信里不被封禁,或者说 尽量的存活时间久一点,那么须要注意如下几点:android
一、微信里的入口域名最好用备案域名。而且要加白名单
二、不要QQ和微信同时用一个连接去推广
三、网站内容 关键字、描述 图片等,不能出现敏感词
四、屏蔽举报按钮(此方法失效,尝试过,可是对于如今的微信而言没用.. 仍是能够举报)
五、结合微信超级跳转技术,利用大站的跳转漏洞,使用CDN,删除跳转来源等等.. 尽量提升Url在微信里的存活时间,ios
此次咱们就主要看看微信跳转的实现方式。小程序
如今在百度上搜索微信跳转,出来一大堆收费的系统,简言归纳如下就是如下两种形式:浏览器
1、微信中点开连接或者扫码,直接跳转到外部浏览器打开目标地址安全
2、在浏览器中,点击连接,跳转到微信中 打开地址/关注公众号/添加微信好友 等等这些功能微信
第二点是从浏览器跳转到微信中,能够进行添加好友、关注公众号等系列操做。比较适用于推广引流等场景。我所涉及的业务跟这个无关,因此这一点我只是看看了解了一下,没有去深究,有兴趣能够网上搜索一下。app
这种的原理也很简单,网页中跳转的连接协议是微信的scheme:网站
weixin://dl/business/?ticket=ta428dhj739hg3efe6e
惟一关键的地方 就是这个ticket的生成规则了,研究透了这个,就很简单了。url
这里主要说一下第一点,在微信里打开连接或者扫码,直接跳转到外部浏览器中打开地址。可是,这种方法 仅限于安卓用户. iOS 没法跳转外部打开
通常而言,微信防封是和这个微信跳转是息息相关的。也是主要的规避手段。
先来讲一下微信跳转,用外部浏览器打开的原理吧。 其实也很简单,就是利用微信打开文档会跳转到外部打开的原理实现的.
你们能够用安卓手机,在微信上发一个doc文档或者pdf文件,而后打开试试看?它会跳转到外部浏览器去打开文档。。因此,原理都知道了,那么接下来就好办了吧..
奉上一段代码片断仅供你们参考:
var UA = HttpContext.Current.Request.UserAgent; // 若是是在微信里访问 if (UA.ToLower().IndexOf("micromessenger") != -1) { if (UA.ToLower().IndexOf("android") > -1 || UA.ToLower().IndexOf("adr") > -1) { //Android端微信里打开页面,则响应文件格式数据,会跳出到外部浏览器来 Response.ContentType = "application/vnd.ms-word;charset=utf-8"; Response.AddHeader("Content-Disposition", "attachment; filename=\"/Content/1.docx\""); Response.End(); } else { //ios 或PC,提示外部浏览器打开 Header.Title = "请在浏览器中打开"; body.InnerHtml += "<div id=\"weixinTip\" style=\"z-index: 10000; position: fixed; top: 0; left: 0; background-color: rgba(0,0,0,0.8); height: 100%; width: 100%;\">" + "<p style=\"text-align: center; margin-top: 20px;\"><img src=\"https://upload.cc/i1/2018/11/02/2LFNtS.png\" style=\"width: 84%;max-width:565px;\" alt=\"请在浏览器中打开\" /></p></div>"; } } else { // 若不是在微信里打开,则直接跳转到目标地址 Response.Redirect(url.ToString()); }
利用这个原理,结合前面说的那些规避的手段,基本就能知道那些收费的系统的整个流程了。其实如今市面上不少微信防封的也是用的这种手段,他们对接的大概流程以下:
一、付费购买他们的服务,他们提供一个专属的后台
二、须要客户提供一个正常的 微信内能够正常访问的域名(有的也不须要提供,直接用他们的)
三、后台能够配置推广落地页的地址,配置好后 会自动生成推广二维码和一个短连接。客服会让他们用这个短连接和二维码去推广..
他们生成的这个短连接,其实就是套了一层,利用客户或者他们本身提供的正常的域名,绑定到本身开发的跳转的小程序上,这个小程序,就是利用上面微信打开跳转的原理实现的。大概流程应该跟下面的差很少:
最后这一步 生成第三方的短连接 可要可不要,多是以为多一层跳转,更安全一些吧。
好了,微信跳转的原理就是这些,可能表达的不太好,但愿仍是能看明白是怎么回事吧。本篇就只说一下这个的原理,下一篇再分享记录一下《微信跳转、微信防封系统的实现和设计》