簡體   English   中英

這些是實現安全PHP用戶登錄的正確步驟嗎?

[英]Are these the correct steps to implement secure PHP user login?

我需要進行簡單但安全的登錄(不是Fort Knox,而是明智的登錄)到我的PHP站點。 我在想這樣做的步驟是:

  1. 用戶通過HTTPS訪問網站

  2. 在登錄屏幕上輸入的用戶名和密碼,在服務器上進行哈希處理,並與預先加密的密碼(從注冊時開始)進行比較,然后存儲在用戶記錄中的數據庫中。 我打算使用password_hash進行哈希處理(使用鹽)

  3. 所有數據庫查詢都使用參數綁定來防止SQL注入

  4. 當用戶登錄時,我設置$_SESSION['logged_in'] = true並使用session_regenerate_id

  5. 我設置了session.use_only_cookies選項

我在這里想念什么嗎?

另外,我不確定防止CSRF,XSS攻擊的最佳方法,有什么建議嗎?

如果相關,我將托管在Google App Engine上,並使用其NoSQL Cloud Datastore作為數據庫,並使用PHP-GDS lib( https://github.com/tomwalder/php-gds )作為數據庫接口。

如果要回顯任何用戶輸入數據,則需要使用PHP的htmlspecialchars()函數對其進行轉義,以防止XSS攻擊。

$foo = '<script>alert("This is bad!")</script>';

// produces a browser alert!
echo $foo;

// just write down the "<script>alert("This is bad!")</script>" string,
// because it converts "<" to "&lt;" and so on...
echo htmlspecialchars( $foo ); 

暫無
暫無

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

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