【发布时间】:2017-07-07 19:47:03
【问题描述】:
当我使用 AJAX 获取 JSON 信息时,我最初收到一条错误消息,指出请求被阻止,因为可能会泄露敏感信息。我在 StackOverflow 上阅读了有关 JSON 劫持和各种其他安全问题的信息。然而,这些帖子中的大多数都可以追溯到几年前,我想知道答案本身是否有点过时......坦率地说,我发现这一切都相对令人困惑。
我提供了一个我目前正在使用的示例脚本,它使用 AJAX 来获取 JSON 信息,该信息利用 JsonRequestBehavior.AllowGet 来正常工作。该脚本正在返回我要求的信息。它只返回 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>
再一次,我知道这个问题过去曾被问过,但如果可能的话,我正在寻找一个更新的、当前的答案。如果有有价值的资源或帖子值得阅读,请分享它们,我会确保将此问题标记为重复或完全删除!
谢谢!
【问题讨论】:
-
您可以随时使用 AntiForgeryToken 以使您的通话更“安全”
标签: javascript json ajax asp.net-mvc security