我有asmx网络服务,我想拒绝所有来自所有IP地址的请求,除了我知道的地址。
我使用了Application_BeginRequest,但在确认ip不是我知道的ip之后,我想知道我需要在下面的代码中替换注释。
由于
protected void Application_BeginRequest(object sender, EventArgs e)
{
var address = "916.222.18.0";
var ip = Context.Request.ServerVariables["REMOTE_ADDR"];
if (ip != address)
{
// reject request
}
}
答案 0 :(得分:3)
试试这个:
Context.Response.StatusCode = (int)HttpStatusCode.Forbidden;
Context.Response.End();
或者您只需重定向到另一个没有客户端限制的页面:
Context.Response.Redirect("Head-Fake.aspx");
答案 1 :(得分:1)
if (ip != address)
{
Context.Response.StatusCode = 401; // Unauthorized
Context.Response.End();
// or
throw new HttpNotFoundException();
}