簡體   English   中英

PHP中身份驗證的最佳方式

[英]Best way for authentication in PHP

在模型 - 視圖 - 控制器方式中編寫身份驗證庫時,最好和最安全的方法是什么?

讓我困難的事情是跟蹤用戶活動並通過cookie記住用戶或在數據庫中存儲會話?

提前致謝 :)。

如果您想使用會話,則可以保護它們免受會話固定會話劫持等攻擊。

要防止這兩種情況,您必須確保只允許經過身份驗證的請求才能使用該會話。 這通常通過在會話中盡可能多地鏈接有關客戶端的特定(可能是唯一的)信息來完成。 但是由於某些信息可能會在每個請求(如IP地址)上發生變化,因此很難找到好的信息。
這就是使用表示為趨勢的方法很有用的原因。

另一個好的保護措施是定期交換會話ID。 因此,攻擊有效會話ID的時間段較短。

實現它的最簡單方法是使用PHP SESSIONS。

只是session_start(); 在腳本開頭附近,您可以訪問$ _SESSION全局數組來保存身份驗證數據。

根據服務器的配置,存儲在$ _SESSION中的所有數據僅在托管它的服務器上可用(除少數例外)。 您可以將其配置為保存在臨時目錄,memcached或數據庫中。

客戶端和服務器之間唯一傳輸的是“會話密鑰”。 密鑰可以通過cookie或URL重寫傳遞(由start_session輸出緩沖區透明地處理)。

暫無
暫無

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

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