MVC框架-MVC3 URL跳转问题
在MVC框架进行带参数跳转后,在浏览器网页地址将你网址、控制器、action和参数全部显示在地址上面,现在我的问题是:如果一个帐号有权限进入到这个控制器,这个action中,他将浏览器地址一些参数进行修改,他可以看到他本来在这个页面上看不到的文件和数据等,这样很不安全。请问一下,有什么解决方案?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(7)
建议对敏感数据进行加密操作。
使用post方法发送数据
多加一层验证
如果你的系统中有一个关于权限的map或者一个模块专一来做权限验证,也可以加一个filter或者拦截器来在进入action之前进行验证
如论数据是否敏感,允许这样修改url参数然后能够看到自己权限之外的信息,都是一个很大的隐患,而且我觉得也算是一个功能性的bug。
角色控制,url上不能使用 user之类的鉴别值。
可以使用异步请求或者使用post方式发送请求。
我不同意用post来解决,无论以什么方式跳转都是不安全的。
你的问题可能与设计不合理有关,在提供给用户数据的时候,如果这些数据是敏感的,除了验证用户是否有权限进入到当前控制器当前action之外,肯定是要验证当前用户是否有足够权限来阅读这些数据。当然,如果数据不敏感的,那么也就算了,没必要顾虑那么多,用户爱看什么就看什么。
把参数封装到form中再跳转,可以写一个转接的action
您可以参考下“依赖注入|权利反转“ mvc的一个特殊权限控制,有现成的控件,主要是思想很好,他是面向接口的。希望你能搜索下。