簡體   English   中英

在php session變量中使用電子郵件地址的好/壞主意?

[英]good/bad idea to use email address in php session variable?

我正在為客戶的網站開發一些其他功能,該功能將電子郵件地址用作各種數據庫(電子郵件營銷系統,內部潛在客戶數據庫以及有助於彌合兩者之間的差距的第三個共享數據庫)之間的關鍵查找變量。

我擔心將訪問者的電子郵件地址存儲為$ _SESSION變量可能會導致安全性問題(對於我們的網站而言,不是那么重要,但對於訪問者而言)。

是否有人可以這樣做或是否還有其他選擇的建議或經驗?

在$ _SESSION中存儲值沒有本質上的危險。 這完全取決於您是否提供了無意間將其輸出到瀏覽器的代碼。

重要的是要了解如何存儲$_SESSION變量與如何使用cookie來檢索它之間的區別。 會話中的所有數據都存儲在服務器上(我相信默認情況下為/tmp ),並在請求之間保持不變。 默認情況下,沒有會話數據直接存儲在cookie中。

但是,PHP將存儲具有唯一ID的cookie,該cookie可以通過特定會話標識您的用戶(因此,如何通過不同的請求檢索相同的信息)。

如果具有會話ID的cookie遭到破壞,則另一個用戶可以模擬具有該會話的某個人。 這包括用戶已經登錄的經過身份驗證的會話。如果發生這種情況,與暴露電子郵件地址相比,您可能會遇到更大的問題。

在會話中使用某種用戶ID(而不是電子郵件地址)不是一個壞主意。 但是,還有許多其他可能更有用的方法可以為會話增加安全性。

看到這個問題: PHP Session Security

您可以在變量中使用部分電子郵件地址。 因此,例如,您可以使用電子郵件joe@bloggs.com中的名字joe。 然后使用另一個參數執行搜索。

另外,在將變量傳遞到數據庫時,請始終使用mysql_real_escape_string(),並添加一些反斜杠以達到良好的效果。

暫無
暫無

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

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