2014-10-28 44 views
0

準備一個能夠登錄的簡單頁面。其中一項功能是能夠更改註冊時提供的用戶數據。我的代碼工作如下。如何提高用戶數據更改的安全性?我的方法安全嗎?

中記錄:

if(passwordIsCorrect()){ 

//log in 
$_SESSION['user'] = $email; 

} 

所以我寫電子郵件或用戶ID會話變量。當用戶完成表單並單擊使用

$ _SESSION ['user']; 

這是一種安全的方式提交我寫更改數據庫表中的「用戶」搜索相應的行?它能以某種方式得到改善嗎?

+0

是的,你會很安全。儘管你可能能夠在不同方面提高你的安全性。例如哈希密碼:http://www.sitepoint.com/password-hashing-in-php/ – 2014-10-28 12:25:19

+0

我沒有看到任何安全威脅......基本上,你只是更新會話變量,這沒有任何關係與用戶數據左右... – 2014-10-28 12:26:27

+0

我沒有想到在PHP中的加密密碼,這很簡單。我還在學習。多謝你們。 – user3364397 2014-10-28 12:33:56

回答

0

這很好,假設你的電子郵件消毒或從數據庫中提取。

$ _SESSION數組存儲在服務器上,而不是客戶機上:將其視爲鏈接到用戶瀏覽器會話的服務器上的臨時數組。

電子郵件不會與每個請求來回傳遞,只有會話ID。

而不是電子郵件,我會使用userID - 不是爲了安全,只是爲了方便。用戶可能會更改他們的配置文件來修改他們的電子郵件,並且您的用戶ID很可能是數據庫中的索引,所以速度會稍微快一點 - 這隻會使性能提高很小,但由於您在每次請求時都會這樣做,它會加起來。

+0

這就是我一直在尋找的東西。謝謝。 – user3364397 2014-10-28 12:35:57

0

是的,它是安全的,雖然你可以保留用戶ID,因爲電子郵件可以改變。

我覺得你的問題是與此相關的一個:php storing user id in session?

+0

對不起。謝謝您的回覆。 – user3364397 2014-10-28 12:35:21

相關問題