1.防m(xù)ysql注入
對(duì)于WEB應(yīng)用來(lái)說(shuō),SQL注入攻擊無(wú)疑是首要防范的安全問(wèn)題,系統(tǒng)底層對(duì)于數(shù)據(jù)安全方面本身進(jìn)行了很多的處理和相應(yīng)的防范機(jī)制;
即便用戶輸入了一些惡意的id參數(shù),系統(tǒng)也會(huì)強(qiáng)制轉(zhuǎn)換成整型,避免惡意注入。這是因?yàn)椋到y(tǒng)會(huì)對(duì)數(shù)據(jù)進(jìn)行強(qiáng)制的數(shù)據(jù)類型檢測(cè),并且對(duì)數(shù)據(jù)來(lái)源進(jìn)行數(shù)據(jù)格式轉(zhuǎn)換。而且,對(duì)于字符串類型的數(shù)據(jù),ThinkPHP都會(huì)進(jìn)行escape_string處理(real_escape_string,mysql_escape_string),如果你采用PDO方式的話,還支持參數(shù)綁定。
????????????? 參數(shù)綁定是指綁定一個(gè)參數(shù)到預(yù)處理的SQL語(yǔ)句中的對(duì)應(yīng)命名占位符或問(wèn)號(hào)占位符指定的變量,并且可以提高SQL處理的效率,需要數(shù)據(jù)庫(kù)驅(qū)動(dòng)類的支持,目前只有PDO和Sqlsrv驅(qū)動(dòng)支持參數(shù)綁定功能
通常的安全隱患在于你的查詢條件使用了字符串參數(shù),然后其中一些變量又依賴由客戶端的用戶輸入
所以where方法使用字符串條件的時(shí)候,支持預(yù)處理(安全過(guò)濾),并支持兩種方式傳入預(yù)處理參數(shù)
未完續(xù)