我正在开发一个asp.net mvc 6应用程序,作为应用程序的一部分,我们将发送电子邮件,其中包含一个用户可以点击的链接,将它们发送到特定的操作方法。 一份电子邮件链接的一个例子是mvc编码/解码查询字符串
http://identity.platform:7000/account/register?emailinvitation=true&[email protected]
然后会去的AccountController注册操作方法:
Register(string userName, bool emailInvitation=false, string email="")
我想什么是做一个碱基64编码的URL,所以用户不会再试图手动改变任何参数,所以我们有一个链接,如
所以在我的MVC应用程序,流量为
- 接收请求
- 检查,如果存在需要进行解码
- 如果这样解码,并发送URL参数到适当的控制器/操作方法
我的问题是,我应该拦截请求并解码它吗?如果这种情况发生在路由中,或者稍后发生?然后,我如何重定向到具有适当参数的操作方法
Base-64不是加密。这将是很容易改变参数。 –
我知道,我只是想防止对大多数用户的好奇篡改,它不是一个真正的安全功能 – jazza1000
如果它无效,你将验证该链接,当它击中你的服务器的权利,那么你可以显示错误信息 – Saineshwar