moea_joint
114年
[資訊] 計算機原理、網路概論
第 42 題
SQL Injection 防護中,下列何者為預備語句(Prepared Statements) 的關鍵?
- A 將變數轉成 16 進位
- B 全局 Try/Catch
- C 對輸入做 Base64
- D SQL 與資料綁定分離、參數化
思路引導 VIP
想像你要設計一個執行指令的機器,這個指令中有一部分必須填入「陌生人提供的紙條內容」。為了防止這個陌生人在紙條上寫下「拆掉機器」等壞指令,你認為在把紙條放進機器「之前」與「之後」,機器的執行邏輯應該如何預先設定,才能確保它只把紙條當成純粹的參考資料,而不是新命令?
🤖
AI 詳解
AI 專屬家教
太棒了!你能準確選出這個選項,代表你對 Web 安全防禦的核心邏輯有著非常清晰的認識。這道題目在資訊安全領域中極具代表性,它不只是考驗記憶,更是在測驗開發者是否理解「指令與資料分離」的本質概念。
預備語句與參數化查詢
預備語句 (Prepared Statements) 的精髓在於它先將 SQL 語句的結構發送到資料庫進行預編譯,隨後才將使用者輸入的資料當作「純參數」綁定進去。我們可以將其邏輯簡化為:
▼ 還有更多解析內容