這篇文章給大家分享的是有關(guān)CI框架安全性的示例分析的內(nèi)容。小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考,一起跟隨小編過來看看吧。
黃巖網(wǎng)站建設(shè)公司創(chuàng)新互聯(lián)建站,黃巖網(wǎng)站設(shè)計(jì)制作,有大型網(wǎng)站制作公司豐富經(jīng)驗(yàn)。已為黃巖上千余家提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\成都外貿(mào)網(wǎng)站建設(shè)要多少錢,請(qǐng)找那個(gè)售后服務(wù)好的黃巖做網(wǎng)站的公司定做!具體如下:
用過ci框架的人都知道,ci框架能大大縮短你的代碼。其實(shí),ci框架更能提高你網(wǎng)站的安全性。
防止對(duì)數(shù)據(jù)庫的攻擊
數(shù)據(jù)輸入可能引發(fā)許多問題。因?yàn)?HTML 和數(shù)據(jù)庫的限制,數(shù)據(jù)中總包含特定的符號(hào)—舉例來說,省略符號(hào)和引號(hào)—可能導(dǎo)致你的數(shù)據(jù)庫遭到攻擊,最終得到你無法預(yù)料的結(jié)果。
解決方案是在把這些數(shù)據(jù)存入數(shù)據(jù)庫前對(duì)這些數(shù)據(jù)進(jìn)行相關(guān)處理。這樣做會(huì)浪費(fèi)一些系統(tǒng)時(shí)間,增加一些額外編碼。
CI 的表單輔助函數(shù)會(huì)自動(dòng)地完成這些工作。因此,當(dāng)你編寫一個(gè)輸入框時(shí):
echo form_input('username', 'johndoe');
CI 也隱式地執(zhí)行下列校驗(yàn)函數(shù):
function form_prep($str = '') { if ($str === '') { return ''; } $temp = '__TEMP_AMPERSANDS__'; // Replace entities to temporary markers so that // htmlspecialchars won't mess them up $str = preg_replace("/(\d+);/", "$temp\\1;", $str); $str = preg_replace("/&(\w+);/", "$temp\\1;", $str); $str = htmlspecialchars($str); // In case htmlspecialchars misses these. $str = str_replace(array("'", '"'), array("'", """), $str); // Decode the temp markers back to entities $str = preg_replace("/$temp(\d+);/","\\1;",$str); $str = preg_replace("/$temp(\w+);/","&\\1;",$str); return $str; }
上述函數(shù)捕獲像“&”這樣的特殊字符,以便在你的頁面提交時(shí)不會(huì)造成混亂。你應(yīng)該知道,有些字符會(huì)引起問題。
并不是所有的用戶都會(huì)中規(guī)中矩的輸入符合要求的信息,你也不可能知道使用瀏覽器輸入信息的是什么人,他們?cè)谙胧裁?,做什么。你可以使?CI 來防止輸入不符合要求的信息。當(dāng)然,你大可不必知道 CI 是如何在幕后為你做到這一切的,你只需要簡(jiǎn)單地輸入如下代碼:
echo form_input('username', 'johndoe');
感謝各位的閱讀!關(guān)于“CI框架安全性的示例分析”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,讓大家可以學(xué)到更多知識(shí),如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!