【发布时间】:2015-09-01 08:09:33
【问题描述】:
我想知道是否可以仅将 ASPX 页面的访问限制为 http POST 请求方法?这个受限页面将用于渲染一些复杂的内容。我想将它用于 ajax 调用,这会将内容返回到另一个页面上的 div 中。是否可以禁用 GET 请求,使用户无法通过浏览器中的 URL 访问它?
【问题讨论】:
我想知道是否可以仅将 ASPX 页面的访问限制为 http POST 请求方法?这个受限页面将用于渲染一些复杂的内容。我想将它用于 ajax 调用,这会将内容返回到另一个页面上的 div 中。是否可以禁用 GET 请求,使用户无法通过浏览器中的 URL 访问它?
【问题讨论】:
您不能阻止用户发出 GET 请求。您可以在不提供这些服务的服务器上进行选择。比如像:
if (!string.Equals(Request.HttpMethod, "POST"))
{
Response.StatusCode = 405;
Response.End();
}
这可以在Page_Load 事件中实现,甚至可以在HttpModule 中实现(如果您需要更多页面等)。
【讨论】:
Page.IsPostBack 而不是检查 Request.HttpMethod..