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

标签 php ajax http http-headers server

假设 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/

相关文章:

php - 根据条件将 javascript 写入页面

javascript - 通过ajax获取数据并追加

jquery - 通过 JQuery 调用从服务器获取数据并加载到 DIV 中,无需刷新页面

php - 为什么 symfony 请求 header 设置为二进制值,目的是什么?

Haskell 中的 HTTP POST 内容

php - 如何创建 PHP 多重插入?

php - 在 laravel 中使用 slugs 创建帖子时出现重复条目

php - 自动安排和执行 PHP 脚本

jquery - JSESSIONID Cookie 被拒绝/丢失

C HTTP Proxy,浏览器无限期显示 "waiting for"