gpt4 book ai didi

security - 使用CORS时防止CSRF?

转载 作者:行者123 更新时间:2023-12-04 21:47:36 24 4
gpt4 key购买 nike

我正在制作一个书签,以便用户可以从任何页面使用 CORS 跨域发布到我的服务器。用户必须在发布和使用 cookie 之前进行身份验证。有什么方法可以防止恶意网站在其网页中嵌入 javascript 代码以使用用户凭据跨域发布到我的服务器?

最佳答案

理论上,可能有解决方案。

  • 在每个用户的书签中嵌入唯一的 CSRF token 。
  • 将书签中的代码包装在匿名函数中,因此页面将无法访问它。
  • 嵌入 a strong hash function在您的书签中。这必须完全放在书签的代码中,以确保它不会被篡改。
  • 在您的 XMLHttpRequest 中,您发送:
  • 留言
  • 哈希值:
  • 留言
  • 您的 CSRF 代币
  • 独特的长盐
  • 用户 ID
  • 时间戳(只是为了确保现在发送消息而不是其他时间)
  • 时间戳
  • 用户 ID
  • 在您的服务器上,您验证:
  • 时间戳在允许的误差范围内(这是必要的,因为用户的计算机时钟可能关闭)
  • 哈希是正确的
  • 如果一切正确,您可以发布消息。

  • 这个概念有一个缺陷:如果网站篡改了书签使用的任何功能(例如 Array() ),恶意网站仍然可以拦截、复制和/或修改消息、用户 ID 或 CSRF token 。

    关于security - 使用CORS时防止CSRF?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11947131/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com