[全新官方接口] PHP 检测微信域名拦截,检测微信域名被封
資深大佬 : pytth 5
你的域名在微信被拦截的 3 种常见情况
1 、域名因违规或有风险被拦截(红色拦截)
2 、类似 taobao.com ,douyin.com 这种的恶意竞争式拦截,淘宝、抖音等微信的竞争对手一般都是白色拦截(白色拦截)
3 、有一个中间页的拦截,需要多次点击按钮才可以跳转到你的域名的,多是一些新型域名后缀,例如.top .xyz .link 后缀,这种情况,备案后可以解决(备案拦截)
![[全新官方接口] PHP 检测微信域名拦截,检测微信域名被封](https://4563.org/wp-content/uploads/2021/01/20210110_5ffac8ac8caa2.jpg)
通过 php get_headers()函数就可以分析到结果
这个下标为 6 是一个 URL,在微信访问后正是这个讨厌的页面!
如果切换为正常的链接的话,返回的 headers 是这样的
![[全新官方接口] PHP 检测微信域名拦截,检测微信域名被封](https://4563.org/wp-content/uploads/2021/01/20210110_5ffac8b98576a.jpg)
之前发过一次,但是之前的已经不能用了
现在又重新抓包,终于发现了,原来之前的接口
修改了数据返回的位置,之前是返回下标为[1]的
现在返回的位置下标是[6]既然这样
那么代码就好写了~下面是代码,再也不用网上收费的 api 了
Api 调用源码
<?php // 返回 JSON header('Content-type: application/json;charset=utf-8'); // 官方 API 接口 $api = get_headers('http://mp.weixinbridge.com/mp/wapredirect?url='.$_GET['url']); // 检测 url 的合法性 $checkUrl = "/http[s]?://[w.]+[w/]*[w.]*??[w=&+%]*/is"; // 过滤 URL switch($_GET['url']) { case (preg_match($checkUrl,$_GET['url'])): $result = array( 'code' => 201, 'msg' => '你传入的 URL 不合法' ); break; case ($api[6] !== 'Location: '.$_GET['url'].''): $result = array( 'code' => 202, 'msg' => '域名被拦截' ); break; case ($api[6] == 'Location: '.$_GET['url'].''): $result = array( 'code' => 200, 'msg' => '域名正常' ); break; } // 输出 JSON echo json_encode($result,JSON_UNESCAPED_UNICODE); ?>
如何使用?
1 、新建 wxcheck.php 文件
2 、拷贝上面代码
3 、部署到服务器即可
4 、发起 Get 请求,URL 格式如下
http://域名 /目录 /wxcheck.php?url=你要检测的域名
成品
https://github.com/likeyun/WxCheck
大佬有話說 (8)