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

时间:2011-07-08 12:23:00

标签: jquery asp.net ajax json security

我在我的asp页面中使用jQuery GetJSON调用。它是这样的......

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

这实际上会在我的系统中预订的房间里结束。 但问题是如果用户复制此URL并将其粘贴到浏览器URL并运行它,该房间将被预订。 由于他已经有了会话,我无法区分ASP页面。 那么我该如何防止这种情况?

3 个答案:

答案 0 :(得分:0)

HTTP请求不应该依赖于客户端发送它们的“方式”。请求可以来自您的javascript代码,浏览器地址栏或其他方式。

如果您真的只是想避免从浏览器地址栏访问,那么您可以使aspx页面仅适用于POST请求,因为浏览器地址栏只能发送GET请求。

答案 1 :(得分:0)

我没有看到用户不能这样做的任何问题。但是如果您想确保只通过AJAX访问它,您可以检查X-Requested-With标头以确定是否使用AJAX进行请求。

答案 2 :(得分:0)

使用POST代替GET会在至少将URL粘贴到浏览器时停止发生。