我在我的asp页面中使用jQuery GetJSON调用。它是这样的......
$.ajax({
url: myUrl/myPage.aspx?callback=BookARoom,
dataType: 'json'
});
这实际上会在我的系统中预订的房间里结束。 但问题是如果用户复制此URL并将其粘贴到浏览器URL并运行它,该房间将被预订。 由于他已经有了会话,我无法区分ASP页面。 那么我该如何防止这种情况?
答案 0 :(得分:0)
HTTP请求不应该依赖于客户端发送它们的“方式”。请求可以来自您的javascript代码,浏览器地址栏或其他方式。
如果您真的只是想避免从浏览器地址栏访问,那么您可以使aspx页面仅适用于POST请求,因为浏览器地址栏只能发送GET请求。
答案 1 :(得分:0)
我没有看到用户不能这样做的任何问题。但是如果您想确保只通过AJAX访问它,您可以检查X-Requested-With
标头以确定是否使用AJAX进行请求。
答案 2 :(得分:0)
使用POST代替GET会在至少将URL粘贴到浏览器时停止发生。