sách gpt4 ai đã đi

javascript - 为什么使用 POST 方法可以防止 json 劫持?

In lại 作者:行者123 更新时间:2023-12-01 15:05:55 26 4
mua khóa gpt4 Nike

在返回 json 时,我遇到了以下 ASP.NET MVC 错误。在 Get方法:

This request has been blocked because sensitive information could be disclosed to third party web sites when this is used in a GET request. To allow GET requests, set JsonRequestBehavior to AllowGet.



显然这个漏洞被称为 json劫持 . This article解释返回 json 时网站可能被利用使用 Get .但返回 jsonhiện hữu Post方法是安全的。

为什么要改变 GetĐẾN Post防止这种攻击?

1 Câu trả lời

看到这么多人试图证明,我真的很惊讶。 JSON 劫持 仍然是一个安全问题。 (当然,如果您仍然使用 Firefox 2、Opera 9 或 Safari 3)。很长一段时间以来,现代浏览器都没有这个问题。您在问题中提到的文章是2009年写的,您可以查看bưu kiện有关如何解决问题的更多信息。而且您无需担心JsonRequestBehavior只允许获取和忘记。

làm mới

抱歉,我还没有阅读赏金问题。为什么更改发布请求可以防止 json 劫持?

你可以找到一篇文章đây ,它描述了 JSON 劫持攻击步骤。它如下:

  • 第一步 :让经过身份验证的用户访问恶意页面。
  • 第二步 :恶意页面将尝试访问用户登录的应用程序中的敏感数据。这可以通过在 HTML 页面中嵌入脚本标签来完成 因为同源策略不适用于脚本标签 .

    浏览器将向 json_server.php 发出 GET 请求,并且用户的任何身份验证 cookie 将与请求一起发送。

    ...

  • 你可以这样想这个场景,用户访问 www.yoursite.com并获得认证。在该用户离开您的站点并转到恶意站点之后。如果恶意网站有 标签,浏览器将发出 GET 请求。如果返回的数据是 JSON,则站点可以通过对象原型(prototype) setter 获取敏感数据。 (请记住,攻击者会尝试使用 SCRIPT 标签而不是 AJAX 请求,因为同源策略不适用于脚本标签。请参阅 Cross-origin network access 规则。)

    但是如果你改变 http://www.yoursite.com/some_endpoint 的请求类型来自 LẤYĐẾN BƯU KIỆN ,当浏览器尝试访问它时,您的服务器将拒绝它。

    我还要离开一本旧的 MVC 框架书 đây这解释了概念。

    关于javascript - 为什么使用 POST 方法可以防止 json 劫持?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62033371/

    26 4 0
    行者123
    Hồ sơ cá nhân

    Tôi là một lập trình viên xuất sắc, rất giỏi!

    Nhận phiếu giảm giá Didi Taxi miễn phí
    Mã giảm giá Didi Taxi
    Giấy chứng nhận ICP Bắc Kinh số 000000
    Hợp tác quảng cáo: 1813099741@qq.com 6ren.com