人人做人人澡人人爽欧美,国产主播一区二区,久久久精品五月天,羞羞视频在线观看免费

當(dāng)前位置:蘿卜系統(tǒng) > 硬件軟件教程 > 詳細(xì)頁面

SQL特殊字符轉(zhuǎn)義

SQL特殊字符轉(zhuǎn)義

更新時(shí)間:2023-06-19 文章作者:未知 信息來源:網(wǎng)絡(luò) 閱讀次數(shù):

根據(jù)運(yùn)行的環(huán)境,操作系統(tǒng)可以分為桌面操作系統(tǒng),手機(jī)操作系統(tǒng),服務(wù)器操作系統(tǒng),嵌入式操作系統(tǒng)等。

sql 特殊字符 @_sql 替換字段中的部分字符_sql like 單個(gè)字符

原始鏈接: SQL特殊字符轉(zhuǎn)義

sql 特殊字符 @_sql 替換字段中的部分字符_sql like 單個(gè)字符

應(yīng)該說,即使不處理HTML或JavaScript中的特殊字符,也不會帶來災(zāi)難性的后果. 但是sql 特殊字符 @,如果在動態(tài)構(gòu)造SQL語句時(shí)不處理變量中的特殊字符,則可能導(dǎo)致程序漏洞和數(shù)據(jù)嚴(yán)重的安全問題,例如盜竊和數(shù)據(jù)破壞. 互聯(lián)網(wǎng)上有大量解釋SQL注入的文章,有興趣的讀者可以搜索相關(guān)材料進(jìn)行深入研究.

sql 替換字段中的部分字符_sql 特殊字符 @_sql like 單個(gè)字符

盡管SQL注入的后果非常嚴(yán)重,但只要動態(tài)構(gòu)造的SQL語句的變量使用特殊字符進(jìn)行轉(zhuǎn)義,就可以避免此問題. 讓我們看一個(gè)安全漏洞的經(jīng)典示例:

sql like 單個(gè)字符_sql 特殊字符 @_sql 替換字段中的部分字符

SELECT COUNT(userId) 
FROM t_user
WHERE userName='"+userName+"' AND password ='"+password+"';

sql 替換字段中的部分字符_sql 特殊字符 @_sql like 單個(gè)字符

上述SQL語句根據(jù)返回的結(jié)果數(shù)判斷用戶提供的登錄信息是否正確. 如果將userName變量直接合并到SQL語句中而不進(jìn)行特殊字符轉(zhuǎn)義處理sql 特殊字符 @,則黑客可以繞過用戶名/密碼檢查,將userName設(shè)置為“ 1”或“ 1” =“ 1”,然后直接進(jìn)入系統(tǒng).

除非必要,通常建議通過PreparedStatement參數(shù)綁定構(gòu)造動態(tài)SQL語句,因?yàn)榇朔椒ǹ梢员苊鉂撛诘腟QL注入安全問題. 但是,通常很難通過在應(yīng)用程序中串聯(lián)字符串來完全避免構(gòu)造動態(tài)SQL語句. 為了防止其他人使用特殊的SQL字符破壞SQL語句結(jié)構(gòu)或植入惡意操作,必須在將變量拼??接到SQL語句之前對特殊字符進(jìn)行轉(zhuǎn)義. Spring沒有提供相應(yīng)的工具類. 您可以在jakarta commons lang包(spring / lib / jakarta-commons / commons-lang.jar)中使用StringEscapeUtils完成這項(xiàng)工作:

清單4. SqlEscapeExample


package com.baobaotao.escape;
import org.apache.commons.lang.StringEscapeUtils;
public class SqlEscapeExample {
public static void main(String[] args) {
String userName = "1' or '1'='1";
String password = "123456";
userName = StringEscapeUtils.escapeSql(userName);
password = StringEscapeUtils.escapeSql(password);
String sql = "SELECT COUNT(userId) FROM t_user WHERE userName='"
+ userName + "' AND password ='" + password + "'";
System.out.println(sql);
}
}

實(shí)際上,StringEscapeUtils不僅提供SQL特殊字符轉(zhuǎn)義處理功能,而且還提供HTML,XML,JavaScript,Java特殊字符轉(zhuǎn)義和還原方法. 如果您不介意介紹jakarta commons lang類程序包,建議您使用StringEscapeUtils實(shí)用程序類來完成特殊字符轉(zhuǎn)義處理的工作.


本文來自本站,轉(zhuǎn)載請注明本文網(wǎng)址:
http://www.pc-fly.com/a/jisuanjixue/article-288897-1.html



溫馨提示:喜歡本站的話,請收藏一下本站!

本類教程下載

系統(tǒng)下載排行

網(wǎng)站地圖xml | 網(wǎng)站地圖html
主站蜘蛛池模板: 页游| 海安县| 鲁甸县| 曲沃县| 额济纳旗| 汕头市| 北海市| 新源县| 乌兰县| 乡宁县| 巴中市| 修水县| 北辰区| 新营市| 镇原县| 年辖:市辖区| 奉化市| 沙河市| 东兰县| 石景山区| 紫金县| 保山市| 双鸭山市| 大英县| 航空| 隆林| 松原市| 淄博市| 普宁市| 襄城县| 沅江市| 民勤县| 镇宁| 平果县| 集贤县| 大丰市| 武安市| 略阳县| 汨罗市| 唐海县| 衡东县|