微信地址防封技术
微信地址防封原理
分享一下最近研究微信域名防封的一些心得和经验,怎么才能做到域名防封呢。
说到域名被微信封杀,是很多人在微信推广中都曾遇到的让人苦恼的问题。自己辛苦推广的页面,刚分享出去没多久就被微信屏蔽,真是一朝回到解放前,所有的努力全白费。所以做好微信域名防封至关重要。
微信防封无非就是两个思路
- 使用短链引导到外部浏览器访问 但是这个方法不利于用户交互,而且无法使用微信相关api获取用户信息等
- 使用域名池,使推广域名和落地域名分离 被举报封禁的就是落地域名从而保护推广域名,对于用户来说是无感的
讲一下域名池的实现方案
1.购买一些域名都指向落地服务器(这里可以选国外的域名服务器)
2.选定一个推广域名用于分享 打开推广域名服务器进行微信公众获取用户数据等操作(也就是说公众号绑定的是这个推广域名,这步很重要 因为公众号不可以绑定很多落地域名)
3.推广域名完成登录后获取code跳转到一个没有封禁的落地域名
4.落地域名需要通过api校验是否已经被封闭,http://api.hndfcl.com 这个是本人找到的最便宜的一家,选择一个没有被封的域名重定向过去
5.这样以后只有跟新域名即可 对于用户是无感的 对推广业务非常 友好
这里贴上核心代码 有问题欢迎私信联系
if (ctx.query.code) {
const domains = [' 域名1','域名2']
const url = 'http://api.hndfcl.com/dede/getUrlState?url='
for (let i = 0; i <= domains.length-1; i ++) {
const data = await ctx.curl(url + domains[i], {
type: 'GET',
dataType: 'json',
})
// this.ctx.body =data.data.status
if (data.data.status !== 2) {
// this.ctx.body = domains[i]
ctx.redirect(domains[i] + '/index?code=' + ctx.query.code + '&state=')
return
}
await new Promise((r)=> {
setTimeout(() => {
r()
}, 1000);
})
}
} else {
ctx.redirect(`微信接口?appid=appid&redirect_uri=${'落地域名'`)
}