只允许我的域使用 CORS?
Posted
技术标签:
【中文标题】只允许我的域使用 CORS?【英文标题】:Allowing CORS only for my domain? 【发布时间】: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 允许所有域会增加我不想要的网站的安全开销。
谢谢。
【问题讨论】:
这可能对***.com/a/32481816/5621827有帮助 header("Access-Control-Allow-Origin", "*.domain.com") 为什么不将任何www
请求重定向到非www
?大多数人不再使用www
@charlietfl 你能告诉我我该怎么做吗??
【参考方案1】:
恐怕这不是您可以仅在客户端代码中调整的东西。为了使跨域请求正常工作,您需要设置一个 http 响应标头:它是服务于资源的服务器,谁需要更改,而不是来自 angularJs
的客户端代码.
我认为您应该更新您的问题,说明您的服务器端语言是什么以及您如何处理服务器端的 http 请求。据我所知,只需添加一个标题,如:
访问控制允许来源:http://client.domain.com
在你的回复中会成功。其中client.domain.com
是您的客户端 angularJs 应用程序的域。
【讨论】:
它在 Nodejs 中。 expressJs 我猜?以上是关于只允许我的域使用 CORS?的主要内容,如果未能解决你的问题,请参考以下文章