我正在使用asp.net mvc3
创建一个小型Web应用程序http://localhost:1871/ManageMember/Admin/MemberDetail/3
例如我有上面的网址...你可以看到参数3很容易看到,可以由用户更改,同样可以查看有关该特定id参数的详细信息
http://localhost:1871/ManageMember/Admin/MemberDetail/5
我想阻止用户篡改网址
答案 0 :(得分:2)
不可能,除非你以某种方式破坏3(即在af320f32la0gw
- > 3
和bof320afj2fw
- > 5
的后端有一些映射。然后,至少很难猜测 ID。
除此之外,您最初需要某种身份验证才能查看3
或5
。
最后,为什么你想阻止人们这样做?似乎它对于高级用户来说可能很方便。
答案 1 :(得分:0)
IE允许您锁定地址栏(不确定其他浏览器是否支持此功能)。
但是,正如E. Pills指出的那样,无论URL是多么简单,困难,重新组合或“混合”,服务器端强制授权都是强制性的(您的代码和URL结构意味着您已经拥有了身份验证机制)位)。
您可以实现此目的的一种方法是在初始身份验证时存储服务器端会话令牌,并验证所有传入请求以获得适当的授权。
答案 2 :(得分:0)
if itIS == MVC
use Request.ServerVariables["http_referer"]
else if itIS == webforms
use HttpRequest.UrlReferrer