我有一個非常簡單的(而不是愚蠢的)問題,我希望有人可以清除我的腦海裏對這個:)發送加密的文字在地址
我想一旦他點擊了一個按鈕,發送電子郵件到我的網站的用戶。該電子郵件將在鏈接URL中包含與用戶的用戶ID鏈接(作爲鏈接的查詢參數)。
一旦用戶點擊此郵件鏈接,我的服務器端代碼將解析和解密userID查詢字符串鍵以獲取用戶ID並對其執行一些操作。
我不能使用base64編碼,因爲它可以顛倒,'黑客'可以知道真正的用戶ID。我必須對ID進行加密,但是當我使用AES算法進行加密時,加密文本對於瀏覽器來說是不可理解的,即我無法將加密的userId文本作爲URL的一部分傳遞,因爲它包含未編碼的字符「/」瀏覽器不能通過。我可以想到的一個選擇是base64對加密文本進行編碼,只要我通過URL發送它即可。然後我可以解碼並解密它。
這種方法比在加密文本上使用Uri.EscapeDataString()更好嗎?
這些標籤有什麼相關性?你可能想考慮在http://security.stackexchange.com或http://webmasters.stackexchange.com上詢問。 – Zooba 2011-02-11 10:47:04
發送一個密鑰/令牌給用戶,並通過使用它擊中分貝,並抓住userId並從數據庫鏈接。我認爲這更安全。 (一旦鏈接被使用,將其標記爲在數據庫中過期) – hazimdikenli 2011-02-11 10:52:19