2011-02-25 131 views
1

我想將一個電子郵件地址作爲URL字符串中的參數傳遞,但將其隱藏。 URL字符串是在Java例程中構建的,接收請求的jsp頁面將字符串傳遞給服務器端Java例程以對其進行解碼。有人必須已經寫了這段代碼,但我找不到它 - 可能不會問正確的問題。謝謝。 Fred如何隱藏電子郵件地址作爲url參數

+2

是否存儲HttpSession中的電子郵件地址不可行?這避免了它首先通過網絡發送。 – adarshr 2011-02-25 12:17:32

回答

4

如果您在URL中包含電子郵件,則無法隱藏它,但您可以encrypt it

如果加密不會影響您的世界,並且您只是想模糊電子郵件地址,則可以使用obfuscate it

+0

應用程序通過查詢向潛在客戶發送包含着陸頁鏈接的電子郵件。如果潛在客戶點擊鏈接,他們會轉到由嵌入URL指定的頁面。傳回的參數還通過使用數據庫記錄ID告訴我們它是誰。但是,我想停止使用這些ID,因爲它們會導致問題,如果數據庫被修改並且潛在客戶在幾天內沒有響應。如果我能得到電子郵件地址,我可以使用它,因爲我們只爲每個活動的每個電子郵件地址發送一封電子郵件。我不想顯示電子郵件地址,以免被黑客入侵。加密聽起來不錯。 – 2011-02-25 13:29:22

4

提交它的另一種方式是,使用POST將數據發送到jsp頁面而不是使用Querystring。

2

通常,用戶與存儲在服務器上的數據進行會話。電子郵件地址將存儲在服務器上的會話對象中。客戶端將其會話ID提供給Cookie或URL。這樣,您可以將信息傳遞到下一頁,而不必將其放入URL中。

+0

該應用程序通過查詢向潛在客戶發送包含着陸頁鏈接的電子郵件。如果潛在客戶點擊鏈接,他們會轉到由嵌入URL指定的頁面。傳回的參數還通過使用數據庫記錄ID告訴我們它是誰。但是,我想停止使用這些ID,因爲它們會導致問題,如果數據庫被修改並且潛在客戶在幾天內沒有響應。如果我能得到電子郵件地址,我可以使用它,因爲我們只爲每個活動的每個電子郵件地址發送一封電子郵件。我不想顯示電子郵件地址,以免被黑客入侵。 – 2011-02-25 17:49:22

1

使用hiddden表單域。
<input type="hidden" ...>
隱藏的表單字段在您希望從jsp頁面傳輸到servlet然後傳輸到java bean時不希望它們暴露時會派上用場。

2

如果您不想通過會話處理此問題,或者您在服務器之間傳遞此字符串,則有兩種選擇。哈希電子郵件或Base64編碼。如果您擔心除您以外的任何人(或用戶)發現實際的電子郵件,請勿使用Base64。但是,如果這不是問題,那麼base64是包含電子郵件地址的最簡單和最快速的方式,看起來不像電子郵件地址。

但是,如果您擔心以任何方式泄漏信息,請使用電子郵件的MD5或SHA散列。要加快數據庫中的查找速度,您可能需要預先計算電子郵件的散列版本並將其存儲在表格中的其他列中。

我建議在MD5上使用SHA,但對於這種輕量級使用,我懷疑MD5中的缺陷會影響到您。

相關問題