2015-09-01 74 views
1

我想知道是否可以限制只能訪問ASPX頁面的HTTP POST請求方法?這個受限制的頁面將用於渲染一些複雜的內容。我想用它來進行ajax調用,這會將該內容返回到另一個頁面上的div。是否可以禁用GET請求,以便用戶無法通過瀏覽器中的URL無意中訪問它?ASP.NET頁面POST only only

回答

2

您不能阻止用戶發出GET請求。你可以在服務器上選擇你不會提供這些服務的人。例如像:

if (!string.Equals(Request.HttpMethod, "POST")) 
    { 
     Response.StatusCode = 405; 
     Response.End(); 
    } 

這可以Page_Load事件,甚至在HttpModule來實現(如果你需要它更多頁面,等等)。

+0

更好地輸出一個[405狀態](http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.4.6)比拋出一個異常(我認爲會返回一個500) 。 – Quentin

+0

@Quentin - 你是對的;更新。 –

+0

如果你使用的是WebForms,你也可以使用'Page.IsPostBack'而不是檢查'Request.HttpMethod'。 – TryingToImprove