当前位置: 首页 > 知识库问答 >
问题:

“访问控制允许来源:*”的缺点?

陈季
2023-03-14

我有一个网站,有一个单独的静态文件子域。我发现我需要设置Access-Control-Allow-Origin标题,以使某些AJAX功能正常工作,特别是字体。我希望能够从localhost访问静态子域进行测试,以及从www子域访问静态子域。简单的解决方案是访问控制允许源代码:。我的服务器使用nginx。

您可能不想在响应标题中使用通配符作为访问控制允许来源,主要原因是什么?

共有3个答案

太叔凌龙
2023-03-14

您可以使用hosts文件将127.0.0.1映射到您的域名“dev.mydomain.com”,因为您不喜欢使用访问控制。

澹台景山
2023-03-14

在我看来,你可以让其他网站在没有你明确许可的情况下使用你的应用编程接口。想象一下,你有一个电子商务,另一个网站可以用自己的外观和感觉做所有的交易,但有你的支持,对你来说,最终,这是好的,因为你最终会拿到钱,但你的品牌会失去它的“认可”。另一个问题可能是这个网站是否会改变发送到您后端的有效负载,比如改变送货地址和其他事情。背后的想法只是不授权未知网站使用你的应用编程接口并向用户显示其结果。

艾鹭洋
2023-03-14

您可能不想使用通配符,例如:

  1. 您的网络,假设它的AJAX后端应用编程接口运行在不同的域上,或者只是在不同的端口上,并且您不想将后端应用编程接口暴露给整个互联网,那么您就不会发送*。例如,您的Web在http://www.example.com上,后端API在http://api.example.com上,然后API将响应Access-Control-允许-Origin:http://www.example.com
  2. 如果API想要从客户端请求cookie,它必须不发送Access-Control-允许-Origin:*,但它的值必须是实际请求的来源值。
 类似资料:
  • 问题内容: 我看到以下错误: 使用此代码: 是什么原因引起的,如何解决? 问题答案: 在当前域之外发出ajax请求时,Javascript是受限制的。 例1:您的域名为example.com,并且您想向test.com提出请求=>您不能。 例2:您的域名是example.com,并且您想向inner.example.com发送请求,但是您不能。 例3:您的域名为example.com:80,并且您

  • 我正在尝试将webUntis(文档)API用于学校项目。现在,我只是尝试建立与API的任何类型的连接。 此代码产生以下错误消息: 已阻止跨源请求:同一源策略禁止读取位于的外部资源https://api.webuntis.dk/api/status(原因:缺少CORS标头“访问控制允许来源”)。 这个问题可能如何解决?也许我的API密钥是错误的? 免责声明:错误消息是从德语翻译过来的。

  • 问题内容: 我试图使CORS请求正常工作。使用以下JS代码,我得到此错误: 这是JS代码: 当我使用chrome的devtools查看网络时,我发现确实没有标题。但是,当我手动加载该网站时,它就存在了! 我使用以下代码设置标题: 希望能有所帮助! 问题答案: 它说这意味着您的服务器应用程序需要调整以接受跨源请求。由于安全原因,默认情况下跨源请求不起作用。您需要启用它们。 对于django,有一个维

  • 错误:我在Firefox中得到以下内容:外国站点查询被阻止:同源策略不允许读取远程资源http:// localhost:8080 / api / v1 / post /。(原因:“访问控制-允许-源”CORS 标头不存在) 我已经花了几个小时允许CORS与我的Spring Boot服务器通信,以使我的REACT UI与服务器通信。关于堆栈溢出,有许多措辞类似的问题,但建议的解决方案中没有一个解决

  • 我已经设置了一个带有套接字io的节点服务器,并尝试通过另一台服务器连接到它。但是,不同计算机上的一些浏览器会给我这个错误并使其始终重新连接: XMLHttp请求无法加载https://serverDomain.net:3000/socket.io/?EIO=3 我的js配置: 我正在使用节点 8.0 和套接字 io 2.2,您的帮助将不胜感激。 编辑:这是客户端代码:

  • 问题内容: Web编程有些新知识,对此有些困惑。我有一个提供网站的基本express.js web服务器。我想将一个Gameid交给一个函数,并让其使用其Web API从Steam抓取成就信息,应该使用以下REST API调用来支持该信息: https://developer.valvesoftware.com/wiki/Steam_Web_API#GetGlobalAchievementPerc