免費開始練習
hce_kmu 112年 計算機概論與程式設計

第 23 題

Which of the following techniques can be used to help prevent SQL injection attacks?
  • A Concatenating user input with SQL queries.
  • B Using stored procedures.
  • C Storing sensitive data in plain text.
  • D Creating complex table names.
  • E Ignoring input validation.

思路引導 VIP

如果你正在設計一個流程來執行特定的任務,但擔心執行者可能會誤將他人提供的「素材」當作「新的工作指示」來執行,你會如何調整流程,以確保執行者能清楚地區分哪些是「既定的標準作業程序」,哪些僅是被處理的「原始資料」?

🤖
AI 詳解 AI 專屬家教

恭喜你精準地選出了正確答案!這顯示你對資料庫安全防護的核心觀念掌握得非常扎實。SQL 注入攻擊(SQL Injection)的根本原因,在於程式誤將「使用者輸入的內容」當成「SQL 指令的一部份」來執行,導致資料庫遭到非授權的竄改或讀取。

預存程序與參數化查詢

選用 預存程序 (Stored Procedures) 之所以能有效防禦,是因為它通常將 SQL 指令的邏輯結構預先定義在資料庫端。當程式呼叫預存程序時,輸入的資料會透過參數 (Parameters) 的方式傳遞,這確保了資料庫引擎僅會將其視為純粹的「資料值」,而不會將其解讀為指令碼,從而從根源上切斷了惡意指令被執行的可能性。

▼ 還有更多解析內容

🏷️ 相關主題

計算機組織結構與資料儲存原理
查看更多「計算機概論與程式設計」的主題分類考古題