【问题标题】:Access Control Allow Origin with and without www访问控制允许带有和不带有 www 的来源
【发布时间】:2021-07-27 13:41:40
【问题描述】:

我构建了一个带有以下标头的 php API:

header("Access-Control-Allow-Origin: https://my-domain.de");

这样,我只能从 https://my-domain.de 访问 api,但不能从 https://www.my-domain.de 访问 api

我明白了:

Origin https://www.my-domain.de is not allowed by Access-Control-Allow-Origin.
[Error] XMLHttpRequest cannot load https://my-domain.de/checkin/api/generateUser.php due to access control checks.

我怎样才能使它同时适用于:www 和没有 www?

【问题讨论】:

标签: php api cors http-headers


【解决方案1】:

您可以只添加另一行:

header("Access-Control-Allow-Origin: https://my-domain.de");
header("Access-Control-Allow-Origin: https://www.my-domain.de");

PHP 不支持通配符头,你要么支持所有域:

header("Access-Control-Allow-Origin: *");

或具体如上

【讨论】:

  • CORS 对我来说是新的,所以我不知道什么是最安全的做法。我的应用对所有人开放,我不希望有人使用我的 api 或在应用之外运行请求。
  • 无论如何你都应该使用 api 密钥,以确保其得到妥善保护
猜你喜欢
  • 1970-01-01
  • 2018-02-14
  • 2018-10-18
  • 2017-07-21
  • 2018-08-10
  • 1970-01-01
  • 2019-10-23
  • 2016-06-27
相关资源
最近更新 更多