簡體   English   中英

如何保護我的PHP會話?

[英]How can I secure my PHP sessions?

我已經閱讀了有關防止會話固定的session_regenerate_id()

如果有人在中間攻擊中對男人進行了攻擊,並竊取了生成的ID,請使用該會話登錄。

然后,真正的用戶將被注銷,攻擊者將獲得對該用戶帳戶的訪問權限。

我該如何預防?

在中間攻擊中對人的最有效防御是HTTPS。 您可以使用session_set_cookie_paramsdocs )將會話cookie參數設置為僅通過安全連接傳輸cookie。

因為只有客戶端/服務器才知道如何加密/解密請求數據,所以中間人的攻擊要困難得多。

否則,在不安全的連接上很難對中間的人實施防御

反黑客措施

我完全同意作用域,但可以更進一步,並使用session_regenerate_id(true);刪除舊的會話文件session_regenerate_id(true); 因為這告訴php刪除磁盤上與此會話的關聯文件。 為什么將不再需要的文件保留在服務器上?

另一種反會話黑客措施是將客戶端ip的前兩個八位字節存儲(如果它們經過了很好的加密,則可能會更多,但我還沒有那么多的數據隱私知識),並且可能會將更多的客戶端詳細信息存儲在數據庫中,以便與當前客戶端進行比較細節。 這些數據(尤其是ip)應進行加密,並且會話過期后應將其完全刪除。

結論

有兩種方法可以檢查授權,所有這些方法均涉及使用https,重新生成會話ID,刪除過時的會話文件以及在服務器上的第一個請求上存儲客戶端詳細信息,以便將它們與當前客戶端詳細信息進行比較。

您需要多少安全性取決於應用程序的目的。 當涉及到銀行數據時,例如,您可以更好地實施比您認為必要的反黑客措施。 一個簡單的博客,其中注冊用戶僅可以評論您,不需要很多反黑客措施。

記住

您的應用越安全,用戶友好性就越差。

暫無
暫無

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

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