国产成人精品18p,天天干成人网,无码专区狠狠躁天天躁,美女脱精光隐私扒开免费观看

MYSQL中怎么截斷長(cháng)字符

發(fā)布時(shí)間:2021-09-14 11:25 來(lái)源:億速云 閱讀:0 作者:Leah 欄目: 網(wǎng)絡(luò )安全

這篇文章將為大家詳細講解有關(guān)中怎么截斷長(cháng)字符,文章內容質(zhì)量較高,因此小編分享給大家做個(gè)參考,希望大家閱讀完這篇文章后對相關(guān)知識有一定的了解。

MYSQL長(cháng)字符截斷

即使沒(méi)有任何注入漏洞,攻擊者也可能登錄到后臺管理頁(yè)面

1、相關(guān)資料


2、sql-mode的各項設置

MySQL5.0以上版本支持三種sql_mode模式:ANSI、TRADITIONAL和STRICT_TRANS_TABLES。

1、ANSI模式:寬松模式,更改語(yǔ)法和行為,使其更符合標準SQL。對插入數據進(jìn)行校驗,如果不符合定義類(lèi)型或長(cháng)度,對數據類(lèi)型調整或截斷保存,報warning警告。對于本文開(kāi)頭中提到的錯誤,可以先把sql_mode設置為ANSI模式,這樣便可以插入數據,而對于除數為0的結果的字段值,數據庫將會(huì )用NULL值代替。

2、TRADITIONAL模式:嚴格模式,當向mysql數據庫插入數據時(shí),進(jìn)行數據的嚴格校驗,保證錯誤數據不能插入,報error錯誤,而不僅僅是警告。用于事物時(shí),會(huì )進(jìn)行事物的回滾。 注釋?zhuān)阂坏┌l(fā)現錯誤立即放棄INSERT/UPDATE。如果你使用非事務(wù)存儲引擎,這種方式不是你想要的,因為出現錯誤前進(jìn)行的數據更改不會(huì )“滾動(dòng)”,結果是更新“只進(jìn)行了一部分”。

3、STRICT_TRANS_TABLES模式:嚴格模式,進(jìn)行數據的嚴格校驗,錯誤數據不能插入,報error錯誤。如果不能將給定的值插入到事務(wù)表中,則放棄該語(yǔ)句。對于非事務(wù)表,如果值出現在單行語(yǔ)句或多行語(yǔ)句的第1行,則放棄該語(yǔ)句。

STRICT_TRANS_TABLES:
在該模式下,如果一個(gè)值不能插入到一個(gè)事務(wù)表中,則中斷當前的操作,對非事務(wù)表不做限制。必須設置,以后各項可能依賴(lài)于該項的設置
NO_ENGINE_SUBSTITUTION:
如果需要的存儲引擎被禁用或未編譯,那么拋出錯誤。不設置此值時(shí),用默認的存儲引擎替代,并拋出一個(gè)異常
ONLY_FULL_GROUP_BY:
對于GROUP BY操作,如果在SELECT中出現的單獨的列,沒(méi)有在GROUP BY子句中出現,那么這個(gè)SQL是不合法的
NO_AUTO_VALUE_ON_ZERO:
該值影響自增長(cháng)列的插入。默認設置下,插入0或NULL代表生成下一個(gè)自增長(cháng)值。如果用戶(hù)希望插入的值為0,而該列又是自增長(cháng)的,那么這個(gè)選項就有用了
NO_ZERO_IN_DATE:
在嚴格模式下,不允許日期和月份為零
NO_ZERO_DATE:
設置該值,mysql數據庫不允許插入零日期,插入零日期會(huì )拋出錯誤而不是警告
ERROR_FOR_DIVISION_BY_ZERO:
在INSERT或UPDATE過(guò)程中,如果數據被零除,則產(chǎn)生錯誤而非警告。如果未給出該模式,那么數據被零除時(shí)MySQL返回NULL
NO_AUTO_CREATE_USER:
禁止GRANT語(yǔ)句創(chuàng )建密碼為空的用戶(hù)
PIPES_AS_CONCAT:
將“||”視為字符串的連接操作符而非或運算符,這和Oracle數據庫是一樣的,也和字符串的拼接函數Concat相類(lèi)似
ANSI_QUOTES:
啟用ANSI_QUOTES后,不能用雙引號來(lái)引用字符串,因為它被解釋為識別符
也可以在命令行查看和設置sql_mode變量

3、產(chǎn)生原因:(1)在sql-mode里沒(méi)有加上STRICT_TRANS_TABLES或者TRADITIONAL (2)加上的是ANSI

這里username為varchar(5),即最大規定長(cháng)度為5,而輸入的值為‘a(chǎn)dmsddsff’,長(cháng)度為9,超過(guò)規定長(cháng)度,可是并沒(méi)有報錯。通過(guò)查詢(xún)可知被截斷了。那么我們可以利用這個(gè)漏洞,像相關(guān)資料第二張里被紅筆圈的那句話(huà)一樣

4、預防方法:在sql-mode里加STRICT_TRANS_TABLES或者TRADITIONAL

加上”STRICT_TRANS_TABLES“或者”TRADITIONAL“后,輸入的數據超過(guò)規定長(cháng)度就會(huì )報錯,不能輸入

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng )、來(lái)自互聯(lián)網(wǎng)轉載和分享為主,文章觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權請聯(lián)系QQ:712375056 進(jìn)行舉報,并提供相關(guān)證據,一經(jīng)查實(shí),將立刻刪除涉嫌侵權內容。

国产裸体XXXX视频在线播放| 亚洲AV无码专区青青草原| 国产伦子系列沙发午睡| 97SE亚洲国产综合自在线观看| 妓院一钑片免看黄大片| 产后漂亮奶水人妻无码|