本篇文章給大家分享的是有關(guān)MySQL列長度限制有哪些,小編覺得挺實用的,因此分享給大家學(xué)習(xí),希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。
超長SQL怎么查詢
max_packet_size
這個東西是用來限制mysql客戶端和服務(wù)器通信數(shù)據(jù)包的長度的,比如一個查詢?yōu)椤皊elect*fromuserwhere1”,那么這個長度僅僅幾十個字節(jié),所以不會超標(biāo)。在絕大多情況下,我們很難會超過mysql的默認(rèn)限制1M(可以想象一下,1M的SQL語句還是很長的)。這里插一句,看到該文之后,我終于清楚我當(dāng)初用PEARDB的INSERT插入數(shù)據(jù)失敗的原因了,很可能就是數(shù)據(jù)長度超標(biāo)。對于MySQL來說,如果查詢MySQL字符串的大小超過了這個限制,mysql將不會執(zhí)行任何查詢操作
如果訪問者有可能控制你的sql長度,那么你的程序可能會受到攻擊。哪些情況訪問者可能控制sql的長度呢,比如不限制關(guān)鍵字長度的搜索。還有可能就是你的程序如果要將用戶的登錄作為日志啟用,總之凡是涉及到超長sql查詢的地方,一定得小心檢查自己的sql,防止超長而查詢失效。不過說實在的,本人認(rèn)為這個問題倒不是多大,數(shù)據(jù)庫光里管理員也可以自行設(shè)置MySQL的max_packet_size的長度,或者在處理可能超長的SQL查詢的時候做一個長度判斷。
MySQL列長度限制有哪些
這個是該篇文章的重點。MySQL對于插入的字符串,如果長度超過了數(shù)據(jù)表限制的長度,MySQL將會截取前面部分MySQL字符串插入數(shù)據(jù)庫中,而不會將錯誤報給web程序。對于粗心的程序員,這個問題可能會導(dǎo)致程序的漏洞,其實目前的wordpress有很多限制,通過這個漏洞攻擊應(yīng)該沒有任何作用。下面是原作者的幾個假設(shè),如果同時滿足這幾個條件,獲取一個站點的用戶名是相當(dāng)容易的事情,幸運的是目前的wordpress并不太可能會同時滿足下面的條件:
該web應(yīng)用允許用戶注冊(開放注冊的wordpress滿足此條件);
超級管理員的用戶名已知的,比如admin,這樣方便攻擊者尋找目標(biāo)(可憐wordpress也滿足)
MySQL使用的是默認(rèn)的配置(估計大多數(shù)都滿足)
注冊新用戶的時候,程序沒有對用戶名的長度給予限制(我測試過,wordpress也滿足)
用戶名被限制在16個字符(這個和上面的沒有關(guān)系,僅僅是方便舉例)
下面這個是攻擊者是怎么攻擊的:
首先攻擊者用已知的超級管理員id如admin注冊,那么這個時候程序就會用
(show/hide)plaintext
SELECT*FROMuserWHEREusername='admin'
來檢查該ID是否已經(jīng)存在,如果存在,這不允許注冊,當(dāng)然,攻擊者嘗試注冊admin肯定會失敗;
但是如果攻擊者用admin X(admin和x之間有11個或以上的空格)來注冊呢,按照上面的判斷,由于adminx不存在數(shù)據(jù)庫中,所以當(dāng)然就能注冊成功了,事實上wordpress2.6.1之前的版本確實可以這樣,由于列長度的限制在16個字符內(nèi),所以末尾的x就被截掉了,那么現(xiàn)在數(shù)據(jù)庫中就存在兩個一模一樣的用戶admin了。(旁白:糟糕,那我的程序不是都要去修改。其實沒有必要,你只要把ID設(shè)置為UNIQUE就可以了,于是乎,下面的問題就和你沒有關(guān)系了)
攻擊者繼續(xù),這個時候攻擊者就順利的注冊了admin這個用戶名,然后攻擊者用admin和自己的密碼登錄進入賬戶管理(wordpress即使注冊了也無法登陸),由于真正的admin的帳號先于攻擊者admin注冊,所以在賬戶信息頁面,顯示的信息非常有可能就是真正admin的信息,包括密碼提示和email等,這個時候攻擊者就可以對admin的信息進行任意修改,包括密碼和密碼找回。
所以,寫web程序的你,是不是該去檢查一下自己的程序是否有此類的漏洞呢。
以上就是MySQL列長度限制有哪些,小編相信有部分知識點可能是我們?nèi)粘9ぷ鲿姷交蛴玫降摹OM隳芡ㄟ^這篇文章學(xué)到更多知識。更多詳情敬請關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。
當(dāng)前標(biāo)題:MySQL列長度限制有哪些-創(chuàng)新互聯(lián)
轉(zhuǎn)載來源:http://jinyejixie.com/article34/dcgsse.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站改版、做網(wǎng)站、網(wǎng)站收錄、電子商務(wù)、面包屑導(dǎo)航、移動網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容