2014-06-16 125 views
2

我目前正在開發基於PHP瀏覽器的遊戲。我已經完成了大部分腳本,但我擔心有人可以輕鬆地'破解'會話。PHP防止會話黑客攻擊

當用戶登錄並且密碼正確時,$_SESSION['logged']將變爲'1'。用戶將被重定向到profile.php。

如果$_SESSION['logged']等於'1',則將顯示該配置文件。但是,如果$_SESSION['logged']不存在,用戶將被重定向回index.php。

恐怕用戶將能夠破解$_SESSION['logged']

此外,還有$_SESSION['username']。大多數時候我使用$_SESSION['username']來從數據庫中獲取信息。如果$_SESSION['username']被更改/黑客入侵,那麼'黑客'將會比'成爲'另一個'人'成爲''。

我聽說過session_regenerate_id和session_id()。但是,我不確定將它們放在哪裏。

感謝,

+0

播放器,或*客戶端*,不能改變'$ _SESSION'的值。 –

+1

你不應該存儲'$ _SESSION ['logged']';您可以使用基於令牌的身份驗證。 – Raptor

+0

@Raptor我使用這種方式來了解用戶是否是管理員或不是,什麼是其他和最佳方式? – M98

回答

3

session_regenerate_id更新如果,例如,要刷新會話ID每10分鐘或更換後新生成的one.This當前會話ID可能是有用的與會話關聯的用戶的真實性狀態。

,你應該知道

,如果你想知道更多看一看PHP security