---
# System prepended metadata

title: 基本資安問題及修正

---

# 基本資安問題及修正


## 密碼問題

不可以光明正大的存明文密碼進資料庫及輸入過程中，所以解決的方式有兩種

### 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**

讓使用者輸入的內容都只會被當作字串不會被當程式執行