1
我想知道是否可以限制只能访问ASPX页面的HTTP POST请求方法?这个受限制的页面将用于渲染一些复杂的内容。我想用它来进行ajax调用,这会将该内容返回到另一个页面上的div。是否可以禁用GET请求,以便用户无法通过浏览器中的URL无意中访问它?ASP.NET页面POST only only
我想知道是否可以限制只能访问ASPX页面的HTTP POST请求方法?这个受限制的页面将用于渲染一些复杂的内容。我想用它来进行ajax调用,这会将该内容返回到另一个页面上的div。是否可以禁用GET请求,以便用户无法通过浏览器中的URL无意中访问它?ASP.NET页面POST only only
您不能阻止用户发出GET请求。你可以在服务器上选择你不会提供这些服务的人。例如像:
if (!string.Equals(Request.HttpMethod, "POST"))
{
Response.StatusCode = 405;
Response.End();
}
这可以Page_Load
事件,甚至在HttpModule
来实现(如果你需要它更多页面,等等)。
更好地输出一个[405状态](http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.4.6)比抛出一个异常(我认为会返回一个500) 。 – Quentin
@Quentin - 你是对的;更新。 –
如果你使用的是WebForms,你也可以使用'Page.IsPostBack'而不是检查'Request.HttpMethod'。 – TryingToImprove