我正在開發一個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