为什么CORS会阻止音频文件(MP3)?什么';安全风险是什么?

为什么CORS会阻止音频文件(MP3)?什么';安全风险是什么?,cors,Cors,为什么我需要将MP3文件的Access Control Allow Origin设置为*,以便其他域的网站可以加载它?这有什么安全风险 或者只是为了防止其他人显示您未授权他们显示的内容(假设浏览器支持CORS)?大多数视频播放器都是使用脚本中的JS进行初始化的,视频是通过XMLHttpRequest获取的 根据报告: 出于安全原因,浏览器限制从脚本中启动的跨源HTTP请求。例如,XMLHttpRequest和FetchAPI遵循相同的源策略。这意味着使用这些API的web应用程序只能从加载应用程

为什么我需要将MP3文件的Access Control Allow Origin设置为
*
,以便其他域的网站可以加载它?这有什么安全风险


或者只是为了防止其他人显示您未授权他们显示的内容(假设浏览器支持CORS)?

大多数视频播放器都是使用
脚本中的JS进行初始化的,视频是通过
XMLHttpRequest
获取的

根据报告:

出于安全原因,浏览器限制从脚本中启动的跨源HTTP请求。例如,XMLHttpRequest和FetchAPI遵循相同的源策略。这意味着使用这些API的web应用程序只能从加载应用程序的同一域请求HTTP资源,除非使用CORS头


因此,为了安全和防止数据泄露,需要CORS头。

请参阅@cartant,其中没有解释为什么读取媒体文件是一个安全问题。或者是为了保护他人的内容不被阅读,而不是为了安全?如果是这样,那就很奇怪了。如果你真的想得到MP3文件的内容,还有很多其他的方法。。。我只是想了解阻止脚本读取MP3文件对安全性的重要性。是的。一般来说,跨源阅读(不仅仅是MP3文件)是不允许的,CORS是可以选择的。我知道,但在网站内下载MP3文件是如何特别引起安全问题的?我不明白这是怎么回事……数据泄露问题是服务器的问题,而不是客户端的问题,比如说,如果我想要一个视频
http://example.com/example.mp4
运行于
http://example.com
仅限于此,我不会发送CORS标题。这样,一些第三方网站将无法使用JS
script
tag从我的服务器上获取视频,从保护人们的版权和IP的意义上讲,这是有道理的。然而,这并不能阻止已确定的版权侵犯者以其他方式下载MP3文件,因此CORS只会因各种浏览器不一致和错误而导致问题。例如,这是我自己的该死的内容,我正试图在不同的域上使用,Chrome不会让我使用,即使我的内容已
Access Control Allow Origin
设置为“*”!我只是现在不喜欢CORS(或者可能我不喜欢Chrome)。但是Chrome不知道,它只知道你从外部站点请求资源。虽然这对视频来说似乎毫无意义,但考虑到你不能真正概括视频URL,而在真正的REST调用中COR是一件好事,这对我来说是有意义的。