使用AJAX获取JSON时,JsonRequestBehavior.AllowGet的安全性问题

时间:2017-07-07 19:47:04

标签: javascript json ajax asp.net-mvc security

当我使用AJAX获取JSON信息时,我最初收到错误,提到请求被阻止,因为可能会泄露敏感信息。我已经阅读了StackOverflow关于JSON劫持和其他各种安全问题的内容。然而,这些帖子中的大多数可追溯到几年前,我想知道答案本身是否有点过时......坦率地说,我发现这一切都相对令人困惑。

我正在提供一个我正在使用的示例脚本,它使用AJAX来获取利用JsonRequestBehavior.AllowGet正常工作的JSON信息。这个脚本正在返回我要求它的信息。它正在返回SalesOrder数字,仅此而已 - 所以我觉得它没有传递“敏感”信息。我是否还应该关注任何安全漏洞?使用AllowGet是不好的做法吗?

这是脚本

    <script>
        $(document).ready(function () {
            $('#printBtn').click(function () {
                $.ajax({
                    type: 'GET',
                    url: '/Home/GetSalesOrderListAsJSON',
                    success: function(response) {
                        var stringOfSalesOrders = "";
                        var totalToMove = 0;
                        response.forEach(function(str) {
                            stringOfSalesOrders += str + ",";
                            totalToMove++;
                        });

                        alert("Number being moved: " + totalToMove);

                        $.ajax({
                            type: "POST",
                            url: "/Home/PostResults",
                            data: { s: numberOfActiveIds},
                            success: function (results) {
                                if(results == "Success") {
                                    window.location.href = '/Home/Results';
                                }
                            }
                        });
                    }
                });
            });
        });
    </script>

同样,我理解过去曾问过这个问题但是如果可能的话,正在寻找更新的当前答案。如果有宝贵的资源或值得阅读的帖子请分享,我一定要将此问题标记为重复或完全删除!

谢谢!

1 个答案:

答案 0 :(得分:0)

查看此帖子: Why is JsonRequestBehavior needed?

摘自原帖:

enter image description here

来自原始帖子的其他有用评论: enter image description here