時間:2024-02-07 12:09作者:下載吧人氣:16
SQL注入攻擊是黑客對數(shù)據(jù)庫進行攻擊常用的手段之一,隨著B/S模式應(yīng)用開發(fā)的發(fā)展,使用這種模式編寫應(yīng)用程序的程序員也越來越多。但是由于程序員的水平及經(jīng)驗參差不齊,相當(dāng)大一部分程序員在編寫代碼的時候,沒有對用戶輸入數(shù)據(jù)的合法性進行判斷,使應(yīng)用程序存在安全隱患。用戶可以提交一段數(shù)據(jù)庫查詢代碼,根據(jù)程序返回的結(jié)果,獲得某些他想獲取的數(shù)據(jù),這就是所謂的SQL Injection,即SQL注入。
假如某高校開發(fā)了一個網(wǎng)課系統(tǒng),要求學(xué)生選課后完成學(xué)習(xí),數(shù)據(jù)庫中有一張表course
,這張表存放著每個學(xué)生的選課信息及完成情況,具體設(shè)計如下:
數(shù)據(jù)如下:
本系統(tǒng)采用mysql做為數(shù)據(jù)庫,使用Jdbc來進行數(shù)據(jù)庫的相關(guān)操作。系統(tǒng)提供了一個功能查詢該學(xué)生的課程完成情況,代碼如下。
@RestController public class Controller { @Autowired SqlInject sqlInject; @GetMapping("list") public List<Course> courseList(@RequestParam("studentId") String studentId){ List<Course> orders = sqlInject.orderList(studentId); return orders; } }
網(wǎng)友評論