安全性 基礎
SQL Injection 攻擊與防範
請說明 SQL Injection 攻擊原理及防範方式。
攻擊原理
攻擊者在輸入欄位插入惡意 SQL 片段,改變原本 SQL 語意,達到繞過驗證、讀取或破壞資料的目的。
範例:登入查詢 WHERE username='admin'--' 可跳過密碼驗證。
防範方式
1. Parameterized Query(參數化查詢)
將使用者輸入作為參數傳遞,而非字串拼接到 SQL 中。資料庫驅動器會自動轉義。
2. ORM 框架
使用 Prisma、Sequelize 等 ORM,預設使用參數化查詢。
3. 輸入驗證與白名單
在 API 層驗證資料類型、長度、格式。
4. 最小權限原則
資料庫帳號只給必要權限,限制攻擊影響範圍。
✦ AI 模擬面試
輸入你的答案,AI 即時分析精準度與改進空間
登入後即可使用 AI 評分
