2017-08-29 42 views
-1

我有一段代码,通过检查URL引用阻塞当URL引用被剥离

if (filterContext.RequestContext.HttpContext.Request.UrlReferrer == null) 
{ 
    // redirect somewhere else 
} 

理想的情况下阻止URL黑客到网页网址黑客,这是阻止有人通过仅改变看记录的详细信息页身份证(所以,人/ 1,人/ 2等)

现在,这是好的,如果引用者没有被浏览器剥离,但如果是。有没有解决这个问题的方法?

我使用C#MVC

+3

与其查看URL引用链接,为什么不检查用户所处的任何进程的工作流程状态,以确保它们在该时间点被允许在该页面上? – mason

+0

您知道可以从客户端发送任何UrlReferrer。所以这绝不是一种安全的方式。 – Magnus

+0

许多小型应用程序刮掉或以其他方式显示其中的网页都不会麻烦发送引用标头。合法与否。 – ahwm

回答

0

没有解决方案这一点,或者是有或者是不能不网址裁判并不意味着是一种安全机制。它可以很容易伪造。如果你唯一担心的是URL劫持,那么你可以做的最低限度的挂果改变就是将你的ID字段改为uniqueIdentifier(Guid),这样用户就不能只将增量数字附加到你的url。