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) 的方式傳遞,這確保了資料庫引擎僅會將其視為純粹的「資料值」,而不會將其解讀為指令碼,從而從根源上切斷了惡意指令被執行的可能性。
▼ 還有更多解析內容