千鋒教育-做有情懷、有良心、有品質(zhì)的職業(yè)教育機(jī)構(gòu)
攻擊者在HTTP請(qǐng)求中注入惡意的SQL代碼,服務(wù)器使用參數(shù)構(gòu)建數(shù)據(jù)庫(kù)SQL命令時(shí),惡意SQL被一起構(gòu)造,并在數(shù)據(jù)庫(kù)中執(zhí)行。
防范:
Web端:
1)有效性檢驗(yàn)。
2)限制字符串輸入的長(zhǎng)度。
服務(wù)端:
1)不用拼接SQL字符串。
2)使用預(yù)編譯的PrepareStatement。
3)有效性檢驗(yàn)。(為什么服務(wù)端還要做有效性檢驗(yàn)?第一準(zhǔn)則,外部都是不可信的,防止攻擊者繞過(guò)Web端請(qǐng)求)
4)過(guò)濾SQL需要的參數(shù)中的特殊字符。比如單引號(hào)、雙引號(hào)。
相關(guān)推薦