我想在我的网站中为我的一些php页面禁用HTTP GET方法。我可以在 php 代码中做到这一点吗?
假设我有两个页面.html和动作.php。现在.html是正常的页面,可以用任何方法访问,并将信息提交给行动.php。但我希望提交到行动的信息.php只能通过发布方法提交。
发送一个不允许的方法标题以及一些解释性文本(最好是比我下面的例子更友好和更有用的东西)。
之后退出,这样您就不会继续处理常规页面。
if ($_SERVER['REQUEST_METHOD'] === 'GET') {
header('Method Not Allowed', true, 405);
echo "GET method requests are not accepted for this resource";
exit;
}
您可能需要考虑将 GET 列入白名单(并测试是否缺少您接受的方法),而不是将 GET 列入黑名单。(因为您可能也不想要 PUT、DELETE 等)。
把下面的代码放在开头。
if ($_SERVER['REQUEST_METHOD'] !== 'POST') {
header('Location: a.html');
exit;
}
您可以读取当前方法,如果它是 GET,则重定向用户。