安全性 基礎

SQL Injection 攻擊與防範

AI 練習作答

請說明 SQL Injection 攻擊原理及防範方式。

攻擊原理

攻擊者在輸入欄位插入惡意 SQL 片段,改變原本 SQL 語意,達到繞過驗證、讀取或破壞資料的目的。

範例:登入查詢 WHERE username='admin'--' 可跳過密碼驗證。

防範方式

1. Parameterized Query(參數化查詢)

將使用者輸入作為參數傳遞,而非字串拼接到 SQL 中。資料庫驅動器會自動轉義。

2. ORM 框架

使用 Prisma、Sequelize 等 ORM,預設使用參數化查詢。

3. 輸入驗證與白名單

在 API 層驗證資料類型、長度、格式。

4. 最小權限原則

資料庫帳號只給必要權限,限制攻擊影響範圍。

✦ AI 模擬面試

輸入你的答案,AI 即時分析精準度與改進空間

登入後即可使用 AI 評分