簡體   English   中英

PHP認證

[英]PHP Authentication

目前,我的身份驗證如下所示:

用戶輸入用戶名/密碼組合發送到服務器后,用戶名和密碼將被加鹽和散列(md5),並對照數據庫進行檢查。

如果正確且用戶已指定,則設置一個月的cookie。

如果用戶未指定設置Cookie,則閑置五分鍾后他們會自動退出。

我的問題僅僅是,是否需要以及如何使此方法更安全。 我的PHP相當流利,但在安全性方面還不太滿意。 任何幫助,指示,線索和一般幫助將不勝感激。

謝謝。 :)

只需確保從用戶名和密碼中去除斜杠即可避免使用mysql_escape_real_string進行SQL注入,而這正是您所需要的全部安全性。

這里有一些想法:

  1. 最重要的是使用SSL。 密碼以明文形式發送,這意味着任何人都可以看到它。
  2. 您設置的Cookie是什么? 我可以復制該cookie,然后以您的身份獲得授權嗎? 也許考慮創建一個隨機令牌並設置
  3. 您是否在防止跨站點偽造和跨站點腳本編寫?

這就是我能想到的。

聽起來您正在嘗試發明新的身份驗證。 不做-改用阿米爾的建議。

但是,如果您想通過任何方式調整加密貨幣,以下是Javascript的一個想法:

鹽不是秘密。 將它與nonce一起發送給客戶端-另一個具有足夠熵的隨機值。

客戶端發回nonce + hash(timestamp + hash(salt + password)) 然后,服務器檢查nonce是否是最近的。

這樣可以抵抗任何重放攻擊。

(通過+表示串聯)。

暫無
暫無

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

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