2011-04-27 51 views
0

我們有一個SaaS網絡應用程序,正在尋求從我們的用戶那裏獲得一些反饋。我被要求在其中放置一個按鈕,該按鈕將重定向到服務器外部網站上的反饋頁面。從網絡應用程序安全地將ID傳遞到外部網站

我打算簡單地在查詢字符串中包含客戶端的Id,但我知道這不是最好的選擇。我真的不希望用戶能夠更改此字符串的值,從而提供較差的數據。

我不能將反饋頁面作爲相關Web應用程序的一部分。我們希望將記錄存儲在一個單獨的數據庫中,我們已經保存了大量的報告信息。

這不是什麼大不了的事情,我知道查詢字符串方法很簡單,只是尋找一些替代方案。

我要補充一點,這兩個網站都寫在.NET

回答

2

http://dotnetslackers.com/articles/aspnet/Securely-Passing-Identity-Tokens-Between-Websites.aspx

閱讀這篇文章,它概述的方式,你可以使用安全地從一個Web應用程序傳遞到另一個標記。它使用散列函數和密鑰來保證真實性。

想法是兩個網站共享一個密鑰。我們稱之爲$鍵。網站A使用$ key創建用戶標識的哈希表示來對其進行限制。例如:

$signature = md5($key + $id); 

的網站,然後創建一個查詢字符串,它追加到網頁B的URL查詢字符串這可能看起來像:

?id=$id&signature=$signature 

在到達網站B,網站B將驗證真僞通過用上面概述的$ key對傳入的id進行重新哈希來確定id。如果它等於$簽名,那麼請求是有效的。否則,請求被忽略。

+0

嘿謝謝,這就是我一直在尋找的。很好的閱讀 – Curtis 2011-04-27 22:25:58