【问题标题】:post request allowed although denied尽管被拒绝,但允许发布请求
【发布时间】:2021-07-22 07:07:15
【问题描述】:

我向这样的 php 文件发起了 ajax 发布请求:

$.post("URL_TO_PHP_FIlE", {parameter: 1}, function(response) {
  console.log(response)
}    

我得到了响应,但这应该是不可能的,因为我的 php 文件只允许 GET 而不是 POST:

header('Access-Control-Allow-Methods: GET');

我的错在哪里?

【问题讨论】:

    标签: php ajax post get


    【解决方案1】:

    Access-Control-Allow-Methods 标头用于预检响应中,以向客户端提示允许哪些方法。它不会自动阻止任何其他类型的传入请求 - 这是您必须在自己身边实现的东西,例如通过返回 405 Method Not Allowed 状态码。

    if ( $_SERVER['REQUEST_METHOD'] !== 'GET' ) {
      http_response_code(405); exit;
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-07-22
      • 2023-03-14
      • 2022-01-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多