【问题标题】:Allowing CORS only for my domain?只允许我的域使用 CORS?
【发布时间】:2018-06-26 08:36:15
【问题描述】:

我有一个AngularJs 网站,当我尝试发布数据时,当我打开我的网站而不使用www 时,我得到了

对预检请求的响应未通过访问控制检查:请求的资源上不存在“Access-Control-Allow-Origin”标头

否则,我不会收到任何错误。

我试图搜索并发现我应该在我的后端实现CORS,它位于NodeJs,但是谁能告诉我我怎样才能只实现CORS Headers 这样对于www 和没有 www 都可以,但对于尝试访问我的 API 的任何其他域必须导致 预检错误

我正在尝试这样做,因为我在这里读到 which-security-risks-do-cors-imply 允许所有域会增加我不想要的网站的安全开销。

谢谢。

【问题讨论】:

  • header("Access-Control-Allow-Origin", "*.domain.com")
  • 为什么不将任何www 请求重定向到非www?大多数人不再使用www
  • @charlietfl 你能告诉我我该怎么做吗??

标签: angularjs node.js cors preflight


【解决方案1】:

恐怕这不是您可以仅在客户端代码中调整的东西。为了使跨域请求正常工作,您需要设置一个 http 响应标头:它是服务于资源的服务器,谁需要更改,而不是来自 angularJs 的客户端代码.

我认为您应该更新您的问题,说明您的服务器端语言是什么以及您如何处理服务器端的 http 请求。据我所知,只需添加一个标题,如: 访问控制允许来源:http://client.domain.com 在你的回复中会成功。其中client.domain.com 是您的客户端 angularJs 应用程序的域。

【讨论】:

  • 它在 Nodejs 中。
  • expressJs 我猜?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-11-11
  • 1970-01-01
  • 2021-03-21
  • 2017-11-23
  • 2020-09-07
  • 2020-07-02
  • 2015-01-24
相关资源
最近更新 更多