簡體   English   中英

如何將數據發送給將在網頁瀏覽之間保留但不會重新發送到服務器的用戶?

[英]How can I send data to a user that will persist between web page views, but which won't be resent to the server?

我想在用戶登錄網站后向用戶發送一些數據,這是一種用於加密的秘密字符串。

我想允許他們在網站上瀏覽,我希望能夠在他們的機器上使用javascript來加密數據,然后再將數據發送回服務器。 注意:這是使用SSL的補充。

我不想為此使用cookie,因為它們會在每次請求時發送到服務器。

因此,我的目標是在整個會話期間只有一些數據將通過網絡發送,但是當用戶訪問多個頁面時,javascript將能夠訪問此秘密。 要明確我永遠不想看到用戶的解密數據,也不能

這可能,可能使用HTML5持久性或其他什么? 我需要一個跨瀏覽器兼容的解決方案,理想情況下可以使用IE6(因此可能會擊落任何HTML5魔法)。

謝謝

如果您擔心窺探,請使用HTTPS。 這聽起來像一個非常脆弱的加密機制,為什么不去更“傳統”呢?

我懷疑你能做到這一點。 會話通常與cookie(即jsessionid)綁定,因此將其綁定到“會話”(即您說“將在整個會話中僅通過線路發送一些數據”),並將其提供給用戶,你需要把它放在一個cookie中。

您可以使用像Flash或Silverlight這樣的RIA插件。 兩者都有本地存儲數據的機制,無需在每次請求時將數據發送回服務器。 Java也可能。

如何將用戶保持在安全頁面上並使用ajax調用發回加密數據?

我還記得看到一個php腳本,它會根據某些條件將給定頁面加載到iframe中。 我認為我看到的示例只是一個演示,您從選擇的表單中選擇了一個頁面。 包含iframe的頁面可用於保留數據。

我想我將從銀行業界獲取靈感並在服務器上執行所有加密。 我可以想到一種方法,我可以從用戶的密碼生成私鑰,這使我無法在沒有用戶登錄的情況下解密數據。

我不認為我的初步問題有一個強有力的解決方案,但感謝您的回復。

您可以在支持HTML5的瀏覽器(IE8,FF3 +,Chrome,Safari 4 +,Opera 9+)上使用localStorage 您可以回退到IE6和IE7的userData 這樣可以在所有平台上保證最少64 KB的數據(最小用戶數據大小)。

有一個庫,它封裝了本地存儲數據的各種策略: PersistJS

我使用它來存儲客戶端狀態,不需要將每個請求發送到服務器(例如可調整大小的面板尺寸)。 我不認為它可以提供任何額外的安全性,因為任何可以解密SSL流的攻擊者都可以獲取您的數據,因為他們可以觀察您的所有javascript代碼。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM