Asp.net 如何在IIS中为单个URL创建IP白名单
我有一个ASP.NET应用程序,它由几个.aspx页面组成。我希望其中的一个.aspx页面只能由一组特定的IP访问。这可能吗Asp.net 如何在IIS中为单个URL创建IP白名单,asp.net,whitelist,Asp.net,Whitelist,我有一个ASP.NET应用程序,它由几个.aspx页面组成。我希望其中的一个.aspx页面只能由一组特定的IP访问。这可能吗 我知道你可以在网站级别使用IP白名单,但你可以在应用程序中为单个URL使用IP白名单吗?你可以在应用程序中对照你自己的白名单检查Request.ServerVariables[“REMOTE\u HOST”]。不幸的是,我很确定你不能通过IIS为单个页面使用IP白名单(如果需要验证,请访问Serverfault.com了解更多详细信息),但如果希望以编程方式执行此操作,则
我知道你可以在网站级别使用IP白名单,但你可以在应用程序中为单个URL使用IP白名单吗?你可以在应用程序中对照你自己的白名单检查Request.ServerVariables[“REMOTE\u HOST”]。不幸的是,我很确定你不能通过IIS为单个页面使用IP白名单(如果需要验证,请访问Serverfault.com了解更多详细信息),但如果希望以编程方式执行此操作,则可以在global.asax文件中挂接应用程序\u BeginRequest。根据您的限制检查请求URL和请求IP地址,并且仅允许请求在通过时继续。以下资源演示了如何在ASP.NET中检测客户端IP: 拥有IP后,从您选择的存储机制加载白名单,可能是在初始化事件期间(如果在页面中),如果IP不匹配,则按此方式响应(使用
HttpContext.Current.Response
如果不在页面中:
if (!mySafeIpList.Contains(clientIP))
{
Response.Clear()
Response.StatusCode = (int)HttpStatusCode.Unauthorized
Response.End()
}
或者,只需重定向到有效页面:
Response.Redirect("~/Head-Fake.aspx")
我希望这能有所帮助。+1:关于在
Global.asax
中实现过滤器的建议。