假设 X.com 将向 Y.com 发送一个 post 请求 Y怎么知道发件人是X?没有 url 查询字符串当然。
http://php.net/manual/en/reserved.variables.server.php 的 $_SERVER['HTTP_REFERER']似乎不是答案。它自己的文档说“它不能真正被信任”。
它应该使用 key 和 secret key 参数吗?
最佳答案
在您的请求中发送一个 secret 值,例如您可以在 X.com 上的脚本中检查的 key
Y.com:
$secret = 'SECRET_KEY';
X.com:
if(!empty(htmlentities($_POST['secret'])) {
if(htmlentities($_POST['secret']) == 'SECRET_KEY') {
//Request came from Y.com
}
}
关于php检测/获取发布请求的发件人url(或服务器),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26940454/