jQuery GetJSON 安全问题。复制 URL 并粘贴到浏览器中

标签 jquery ajax json security

我在 ASP 页面中使用 jQuery GetJSON 调用。它类似于以下代码:

$.ajax({
    url: myUrl/myPage.aspx?callback=BookARoom,
    dataType: 'json'
});

这实际上最终会出现在我的系统中预订的房间中,但问题是,如果用户复制此 URL 并将其粘贴到浏览器中,房间就会被预订。由于他已经有了 session ,我无法在 ASP 页面中区分它。我怎样才能防止这种情况发生?

最佳答案

这里有两个问题。

第一个问题:GET 请求应该是安全的。有很多事情可以触发 GET 请求。如果您根据 GET 请求更改状态,则您的代码将面临危险的损坏。使用POST

其次,其他网站可能会导致您的用户向您的网站发出请求。这称为 Cross-Site Request Forgery 。典型的解决方案是每个请求都需要一个随机数。由于其他网站不知道该随机数,因此他们无法再伪造请求。我提供的链接将为您提供有关替代解决方案的进一步阅读。

关于jQuery GetJSON 安全问题。复制 URL 并粘贴到浏览器中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6625496/

相关文章:

javascript - 从 jquery 调用 spring 操作,无需使用 ajax 来实现多个按钮(例如 View 编辑等)

c# - "Please wait, loading..."文本在 asp.net 页面上的 Page_Load

javascript - 使用 javascript 的元素大小 - 在过滤 JSON 数据时需要重新计算高度

java - 将 SQLite 数据设置为 JsonObject 类,而不使用 Stringbuilder

javascript - 如何更改已访问的 cgridview 行的颜色?

javascript - ie11 css 旋转 - 背景元素不可点击

Javascript/jQuery 文本幻灯片

javascript - 点击后 jquery 不起作用

ajax - 脊柱.js: "Uncaught Unknown record"

jquery - JSON.stringify 数组产生双括号