# 基本資安問題及修正 ## 密碼問題 不可以光明正大的存明文密碼進資料庫及輸入過程中,所以解決的方式有兩種 ### 1. Encryption 加密 一對一的關係;加密是可以解密的 (如果駭客知道你的演算法跟 key 就還是可以解開) ### 2. hash 雜湊 多對一的關係,雜湊不行逆推還原回去 `明文 > hash > 文字` **處理的方式** - **PHP 內建 hash 機制的函式 password_hash** - **PHP 內建驗證函式 password_verify** ## 輸入問題 ### 1. XSS (Cross-site Scripting) 在別人的網站上可以用輸入的方式執行程式碼,產生資安漏洞 必須去修補 XSS 的漏洞,去把一些符號變成其他的字元 **處理的方式** - **PHP 內建函式 htmlspecialchars** ### 2. SQL Injection 駭客的填字遊戲 藉由內容拼接的手法注入 SQL 程式碼,輸入進資料庫後被結合起來執行後影響程式的方式 **處理的方式** - **PHP 內建函式 prepared statement** 讓使用者輸入的內容都只會被當作字串不會被當程式執行