gpt4 book ai didi

php - 如何验证 "php://input"是否已设置且不为空

转载 作者:行者123 更新时间:2023-12-03 23:00:42 24 4
gpt4 key购买 nike

如何验证用户是否使用 XMLHttpRequest 向 PHP 发布了一些数据?

这是最好的方法?如果没有,我该怎么做?

我有以下代码

if(isset($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) === 'xmlhttprequest') {
// PROBABLY AJAX REQUEST
}

我的问题是,如何验证 php://input 是否存在且不为空?我认为以下代码可以完成工作,但需要知道这是否是正确的方法:

if(file_get_contents("php://input") == '') {
// HAVE NOT POSTED
} else {
// POSTED
}

最佳答案

将自定义 header 设置为 AJAX 函数的一部分,并检查服务器端代码中是否存在该 header 。

也许最好的方法是在服务器端生成一个 key ,将其传递给包含 AJAX 调用的客户端代码,然后让 AJAX 将其发送回服务器并验证它是一个有效 key 。这是防止有人伪造 AJAX 请求的最有效方法。


要检查 php://input 是否存在且不为空,请使用:

$phpinput = file_get_contents("php://input");
// From the docs: "Note: A stream opened with php://input can only be read once"
if( !$phpinput) {
// phpinput is empty
}

关于php - 如何验证 "php://input"是否已设置且不为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10254078/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com