CORS集管流量

CORS集管流量,cors,Cors,我不理解CORS标题的某些内容: 假设我在这个域上有我的网站: 让我们假设一个黑客设法在我的网站上注入恶意javascript代码 此恶意javascript正在向黑客网站发送数据: 关于CORS头,有一点我不理解:允许的头是在webservice站点上设置的。因此,黑客只需添加此标题即可: <?php header("Access-Control-Allow-Origin: http://myverynicesite.com"); ?> 我不明白为什么CORS不能与反向流一起

我不理解CORS标题的某些内容:

假设我在这个域上有我的网站:

让我们假设一个黑客设法在我的网站上注入恶意javascript代码

此恶意javascript正在向黑客网站发送数据:

关于CORS头,有一点我不理解:允许的头是在webservice站点上设置的。因此,黑客只需添加此标题即可:

<?php
header("Access-Control-Allow-Origin: http://myverynicesite.com");
?>

我不明白为什么CORS不能与反向流一起工作?我在想myverynicesite.com应该允许hackerwebsite.com使用CORS。我看到这是hackerwebsite.com,它允许myverynicesite.com

所以我不理解CORS的附加值


谢谢,JavaScript在您的计算机上运行,而不是在服务器上运行,因此,如果有人设法让JavaScript运行,这并不意味着PHP将在您的服务器上执行

此外,CORS主要是为了保护您的网站免受其他人的攻击

假设你在rubbishbank.com有一个账户,他们把你所有的信用卡信息都放在一张照片里。如果没有CORS,如果您在登录rubbishbank.com时访问badsite.com,攻击者可以从badsite.com请求该图像并将其发送到其服务器;科尔斯阻止了这一切


只有当rubbishbank.com允许来自badlysecuredbankpartner.com的CORS(rubbishbank.com需要您在问题中提到的标题)并且该站点受到XSS攻击或类似攻击时,CORS才会在此失败;由于rubbishbank.com已禁用badlysecuredbankpartner.com的CORS,rubbishbank.com不受其保护,也不受其上运行的任何JavaScript的保护。

同源策略旨在阻止站点A上运行的JavaScript读取站点B愿意与浏览器所有者共享的数据

例如:使邪恶网站不能使用我的浏览器向GMail发出HTTP请求并阅读我的电子邮件(该邪恶网站可以转发给邪恶黑客)

CORS旨在放宽该政策,以便站点B可以向站点A授予访问数据的权限

如果攻击者将JS注入站点B,那么JS将在站点B上运行。从站点B读取数据不需要任何特殊权限,因为它是同一来源


攻击者的JS在站点B上运行,然后可以将数据发送到站点A。这样做不需要特殊权限,因为它正在发送数据,而不是读取数据。即使它确实需要权限,站点A也会授予它,因为站点A是攻击者的站点。

如果我没有弄错的话,服务器是发送
访问控制允许来源
头的,而不是客户端。