3
是否有一種簡單的方法可以針對特定類型的UserAgents對ASP.NET MVC3中的操作方法應用過濾器?我有一個以不同方式咀嚼我們的黑客網絡。我可以在網絡/防火牆級別使用IP,子網等玩貓捉老鼠,但是我們希望爲諸如Squid之類的東西注入app級別的保證,因爲它們似乎具有某些出現的模式。不知道這將如何影響性能,但想知道是否有人做過這種方法。基於UserAgent的過濾器操作
在此先感謝。 doug
是否有一種簡單的方法可以針對特定類型的UserAgents對ASP.NET MVC3中的操作方法應用過濾器?我有一個以不同方式咀嚼我們的黑客網絡。我可以在網絡/防火牆級別使用IP,子網等玩貓捉老鼠,但是我們希望爲諸如Squid之類的東西注入app級別的保證,因爲它們似乎具有某些出現的模式。不知道這將如何影響性能,但想知道是否有人做過這種方法。基於UserAgent的過濾器操作
在此先感謝。 doug
您將不得不創建自定義操作過濾器。這裏是一個返回如果請求的用戶代理禁止一個HTTP 403的一個例子是一個基於Mozilla的瀏覽器:
public class UserAgentActionFilterAttribute : ActionFilterAttribute
{
public override void OnActionExecuting(ActionExecutingContext filterContext)
{
if (filterContext.HttpContext.Request.UserAgent.ToLowerInvariant().Contains("mozilla"))
{
filterContext.Result = new HttpStatusCodeResult(403);
}
base.OnActionExecuting(filterContext);
}
}
只要記住,用戶代理可以僞造,如果他們意識到,它們是如何被封鎖。
這段代碼去哪裏?在控制器中?或者在Global.asax.cs中? – Civilian 2012-02-17 22:56:59
該代碼會去你想要的地方。這只是一個類定義。該屬性必須放在控制器,操作或全局asax的寄存器全局過濾器方法中。 – doogle 2012-02-18 04:12:29
有沒有任何理由在這裏打電話給基地? – beruic 2016-04-27 15:36:32