为了账号安全,请及时绑定邮箱和手机立即绑定

MVC3中的参数加密

MVC3中的参数加密

慕尼黑5688855 2018-12-06 13:38:18
项目使用MVC3开发,本来参数都是明文,访问地址可能是/Home/Index/?UserId=1 现在项目要求把参数进行加密,加密后的访问地址可能是/Home/Index/?VXNlcklkPTE= 也就是对参数进行Base64转码。 现在项目都做的差不多了,难道把所有的Controller都修改一遍?求解决方案。
查看完整描述

10 回答

?
Helenr

TA贡献1780条经验 获得超3个赞

不知道httpmodule可不可以做到,应该也许可以做到吧,你试试?
查看完整回答
反对 回复 2018-12-09
?
莫回无

TA贡献1865条经验 获得超7个赞

那应该 要改,要不 就写个Filter加载所有的 Controller上,统一转换或者类似IHttpModule
查看完整回答
反对 回复 2018-12-09
?
浮云间

TA贡献1829条经验 获得超4个赞

首先这个参数要加密的步骤是发生在客户端调用到服务器之间的传输过程中产生的,要加密的话你应该在js或者html页面中进行处理,根据我的经验来说没有一个一劳永逸的办法,因为这些地址都分布在各个html页面或者js文件中,只能一个一个的改。
查看完整回答
反对 回复 2018-12-09
?
汪汪一只猫

TA贡献1898条经验 获得超8个赞

这个加密没任何的效果..你用HTTPS吧
查看完整回答
反对 回复 2018-12-09
?
GCT1015

TA贡献1827条经验 获得超4个赞

给id加个路由约束,就行了
查看完整回答
反对 回复 2018-12-09
?
慕斯王

TA贡献1864条经验 获得超2个赞

这个修改没什么作用的。 最简单的方法也无非就是把这些参数给统一的使用一个参数 比如/Home/Index?key=xxxxx xxx为某个字符串对象。然后单独设置一个key的路由,然后自己实现下自己规则的IModelBinder。不过如果输入着绕开 还是没用的。
查看完整回答
反对 回复 2018-12-09
?
白板的微信

TA贡献1883条经验 获得超3个赞

支持使用 HttpModule  加解密都用一个就可以了 Private Sub Init(ByVal context As System.Web.HttpApplication) Implements IHttpModule.Init ' Set the handler for the PreRequestHandlerExecute event AddHandler context.PreRequestHandlerExecute, AddressOf OnPreRequestHandlerExecute ' Set the handler for the PostRequestHandlerExecute event AddHandler context.PostRequestHandlerExecute, AddressOf OnPostRequestHandlerExecute End Sub
查看完整回答
反对 回复 2018-12-09
?
繁花如伊

TA贡献2012条经验 获得超12个赞

楼主有好的解决方案没啊,求帮忙啊,谢谢
查看完整回答
反对 回复 2018-12-09
?
aluckdog

TA贡献1847条经验 获得超7个赞

加密的话  扩展UrlHelper 就可以加密了    解密的话 实现IRouteHandler的GetHttpHandler里边将参数进行解密 如上你action获取如果是通过模型绑定的话 就不用动了 当然输出加密参数的url通过扩展方法来做
查看完整回答
反对 回复 2018-12-09
  • 10 回答
  • 0 关注
  • 318 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信