微信域名防封加密的作用?
落地域名多层加密使用,减少域名的浪费和被封杀;保护原始推广落地页不容易被举报和发现,延长原始推广落地页寿命;中间落地域名被封只需重新更换,不影响防封短链接的打开,减少流量浪费。
如何最大程度的微信防封?
尽可能添加多个入口域名和落地域名,及时查看平台发送的邮件,及时切换。目前平台采用的技术,会保证每次生成的分享链接和地址的子域名永不重复。微信有人工审核机制,虽子域名时刻在变,但主域名还是有可能会被封,所以多备一些域名做切换。
微信域名防封加密原理
通过落地域名和入口域名的多层加密保护原始推广落地页。通过原始推广落地页生成防封短链接,利用平台独家技术,中间通过入口域名和落地域名的多层加密来保护推广落地页。
防封短链接生成的三种模式
1,秒封秒解状态。用于公众号域名被封时的特殊处理,恢复公众号的被封域名访问。
2,兼容模式。每次在进入落地页之前,会检查是否被封,没有被封,就直接进入落地页。如果被封,会自动启用秒封秒解模式。
3,公众号授权模式。此模式会直接进入设置的落地页地址,可以让公众号直接发起授权和支付。
一般有支付需求的话,选择《公众号授权模式》,若无支付和授权需求,建议开《秒封秒解模式》。
操作流程
1,备案域名,已通过备案,并能在微信环境内直接打开,没有被查封的域名至少两个。
2,备案域名泛解析到指定的IP。
3,部署设置项目,域名,以及生成防封短链接。
以下是php源码可供参考
$url = “http://api.monkeyapi.com”;
$params = array(
‘appkey’ =>‘appkey’,//您申请的APPKEY
‘url’ =>‘www.monkeyapi.com’,//需要查询的网站
);
p
a
r
a
m
s
t
r
i
n
g
=
h
t
t
p
b
u
i
l
d
q
u
e
r
y
(
paramstring = http_build_query(
paramstring=httpbuildquery(params);
c
o
n
t
e
n
t
=
C
u
r
l
(
content = Curl(
content=Curl(url, $paramstring);
r
e
s
u
l
t
=
j
s
o
n
d
e
c
o
d
e
(
result = json_decode(
result=jsondecode(content, true);
if(KaTeX parse error: Expected '}', got 'EOF' at end of input: …{ var_dump(result);
}else {
//请求异常
}
/**
* 请求接口返回内容
* @param string $url [请求的URL地址]
* @param string $params [请求的参数]
* @param int
i
p
o
s
t
[
是
否
采
用
P
O
S
T
形
式
]
∗
@
r
e
t
u
r
n
s
t
r
i
n
g
∗
/
f
u
n
c
t
i
o
n
C
u
r
l
(
ipost [是否采用POST形式] * @return string */ function Curl(
ipost[是否采用POST形式]∗@returnstring∗/functionCurl(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;
}