1. 程式人生 > >如何有效防止sql注入

如何有效防止sql注入

SQL注入攻擊是黑客對資料庫進行攻擊常用的手段之一,隨著B/S模式應用開發的發展,使用這種模式編寫應用程式的程式設計師也越來越多。但是由於程式設計師的水平及經驗參差不齊,相當大一部分程式設計師在編寫程式碼的時候,沒有對使用者輸入資料的合法性進行判斷,使應用程式存在安全隱患。使用者可以提交一段資料庫查詢程式碼,根據程式返回的結果,獲得某些他想獲取的資料,這就是所謂的SQL Injection,即SQL注入。 ## 一 背景 假如某高校開發了一個網課系統,要求學生選課後完成學習,資料庫中有一張表`course`,這張表存放著每個學生的選課資訊及完成情況,具體設計如下: ![](https://img2020.cnblogs.com/blog/1719198/202008/1719198-20200812090423238-494854246.png) 資料如下: ![](https://img2020.cnblogs.com/blog/1719198/202008/1719198-20200812090433633-1315287490.png) 本系統採用mysql做為資料庫,使用Jdbc來進行資料庫的相關操作。系統提供了一個功能查詢該學生的課程完成情況,程式碼如下。 ```java @RestController public class Controller { @Autowired SqlInject sqlInject; @GetMapping("list") public List