出于安全考虑,我尝试只允许Mandrill的IP访问这些urls。
有人认识他们吗?
发布于 2013-04-26 20:48:29
我们有一系列用于webhook的IP,但随着我们的扩展,它们可以(并且很可能会)更改或添加新的IP。另一种方法是将查询字符串添加到您在Mandrill中添加的webhook URL中,然后在收到帖子时检查该查询字符串,这样您就可以验证它是否来自Mandrill。
发布于 2013-05-13 17:46:44
Mandrill的签名位于HTTP响应头:Authenticating-webhook-requests
在请求头中找到:X-Mandrill-Signature。这是哈希码的base64,使用web挂钩密钥签名。此密钥仅对您的webhook保密。
发布于 2014-08-26 22:54:39
只需替换常量并使用此函数:
<?php
function generateSignature($post)
{
$signed_data = WEB_HOOK_URL;
ksort($post);
foreach ($post as $key => $value) {
$signed_data .= $key;
$signed_data .= $value;
}
return base64_encode(hash_hmac('sha1', $signed_data, WEB_HOOK_AUTH_KEY, true));
}
//---
if (generateSignature($_POST) != $_SERVER['HTTP_X_MANDRILL_SIGNATURE']) {
//Invalid
}
?>https://stackoverflow.com/questions/16233797
复制相似问题