何时使用 REQUEST_METHOD
当我们需要确定 HTTP 请求类型时,可以使用 REQUEST_METHOD 变量。
例如,如果我们知道应用程序仅通过 HTTP post 请求接受用户输入,则建议阻止其他类型的请求,并通知用户该请求无效。
在尝试验证输入本身之前,它可以用作用户输入的服务器端验证的一部分。
REQUEST_METHOD 变量由 PHP 根据 HTTP 请求类型填写,因此无需验证即可安全使用。
在这个变量中应该没有注入攻击的风险。
我们不能简单地检查 $_POST 和 $_GET 是否为空,因为它们总是被定义的,即使所有的 HTML 表单字段都是空的。
要检查请求方法,我们可以使用 $_SERVER['REQUEST_METHOD'] 变量,$_SERVER 是一个 PHP 超全局变量,我们可以随时使用它,甚至在函数和类中也是如此。
要使用 REQUEST_METHOD 变量,我们可以只回显其内容,但它可能在 switch 或者 if 语句中更有用。
请求类型:
- GET
- POST
- HEAD
- PUT
- DELETE
- PATCH
例子:
if ($_SERVER['REQUEST_METHOD'] == 'POST') { echo 'The request was POST'; exit(); } else { http_response_code(405); header('Allow: GET, HEAD'); echo '<h1>405 Method Not Allowed</h1>'; exit(); }
日期:2020-06-02 22:17:31 来源:oir作者:oir