一尘不染

PHP检测/获取发布请求的发件人URL(或服务器)

ajax

假设X.com将向Y.com发送发布请求,那么Y如何知道发件人是X?没有url查询字符串的课程。

http://php.net/manual/en/reserved.variables.server.php的
$ _SERVER [‘HTTP_REFERER’] 似乎不是答案。它自己的文档说“它不能真正被信任”。

应该使用密钥和秘密密钥参数吗?


阅读 230

收藏
2020-07-26

共1个答案

一尘不染

在请求中发送秘密值,例如可以在X.com上的脚本中检查的密钥

Y.com

$secret = 'SECRET_KEY';

X.com

if(!empty(htmlentities($_POST['secret'])) {
    if(htmlentities($_POST['secret']) == 'SECRET_KEY') {
        //Request came from Y.com
    }
}
2020-07-26