【问题标题】:Do you need protection against CORS?您需要针对 CORS 的保护吗?
【发布时间】:2012-12-16 05:22:02
【问题描述】:

我有一个domain/logout.php-文件来注销用户。据我了解,黑客可以在他的网站上让受害者使用credentials 向我的服务器发送 CORS 请求。这会将请求发送到我的服务器,它将注销用户,但是由于我的服务器没有发回正确的标头,因此受害者浏览器将不会显示 domain/logout.php 的输出。

因此,黑客可以使用 CORS 发送比登出用户更邪恶的请求,但只要服务器不包含正确的 CORS 标头,它就不会得到服务器的响应。

当 W3C 有这个安全漏洞时,为什么要真正实现它?

【问题讨论】:

  • 第一个问题:你容易受到这种影响吗?因为如果没有,你就不需要保护。因此,首先测试您是否易受攻击,然后您才能知道是否需要保护。
  • @hakre 好吧,我是。我有一个名为 domain/logout.php 的文件,用于将用户注销。因此,如果有人这样做,受害者将被注销。我说的对吗?
  • 看到你问我“我是对的吗?” 告诉我你还没有测试你是否脆弱。您已经确定了应用程序中可能易受攻击的潜在部分,但尚未对其进行测试。现在测试一下。如果您对如何进行测试设置有疑问,您可能应该在问题中询问。
  • @hakre 为什么会在存在安全漏洞时实施这个?
  • 这是一个关于 CSRF 而不是 CORS 的问题。

标签: javascript cors


【解决方案1】:

我认为您对 CORS 感到困惑。 CORS 标头由服务器发送,不是任何客户端请求的一部分。如果客户支持,客户只需对其进行解释。

其次,如果您正在处理客户端脚本,特别是一般的 jquery 和 javascript ajax,这将变得很重要。对于服务器到服务器的通信,任何人都不需要像这样注销您的客户。

对于您的注销表单的任何外部请求,客户端首先必须在“注销”之前登录,否则没有人可以注销。

对于 PHP - PHP 通信,您不需要 CORS。您需要防止未经授权的访问,特别是对于发生数据库操作的区域

【讨论】:

  • 嗯,那么如何防止CORS呢?我需要在 URL 中实现 CSRF 吗?
猜你喜欢
  • 2021-12-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-06-17
  • 1970-01-01
  • 2013-12-11
  • 2018-10-23
  • 1970-01-01
相关资源
最近更新 更多