在PHP中检测AJAX请求来自哪个文件

Detect what file AJAX request is coming from in PHP

本文关键字:文件 请求 PHP 检测 AJAX      更新时间:2023-09-26

我正在开发一个小型应用程序,该应用程序对一个文件发出了许多AJAX请求。

一旦收到请求,我希望PHP操作文件记录请求的来源,并做出进一步的决定。在PHP操作文件中,我尝试使用$_SERVER['REQUEST_URI']来确定AJAX提交的位置,但这会返回PHP操作文件的位置。

有没有任何方法可以使用HTTP$_POST或类似的方法来实现这一点,而不需要手动将另一个变量附加到每种形式的post对象?

正在寻找类似的东西:

$origin = $_POST['origin'];
echo $origin; // returns either 'form-submit.js' or '/path/form-page.php'

在不向Ajax请求添加其他参数的情况下,最接近所需内容的方法是在PHP中使用$_SERVER['HTTP_REFERER']来获取Referer标头的值,该标头说明用户来自哪个页面。

当然,这个值是不可信的,不能保证它会存在(有些人可能会禁用它),或者通常是可靠的。

您最好在请求中添加另一个参数,但这当然也可以在客户端进行修改。