欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

CI框架的安全性分析

 更新時間:2016年05月18日 12:42:21   作者:yanhui_wei  
這篇文章主要介紹了CI框架的安全性,結合實例形式分析了CI框架字符過濾的相關技巧,需要的朋友可以參考下

本文分析了CI框架的安全性。分享給大家供大家參考,具體如下:

用過ci框架的人都知道,ci框架能大大縮短你的代碼。其實,ci框架更能提高你網(wǎng)站的安全性。

防止對數(shù)據(jù)庫的攻擊

數(shù)據(jù)輸入可能引發(fā)許多問題。因為 HTML 和數(shù)據(jù)庫的限制,數(shù)據(jù)中總包含特定的符號—舉例來說,省略符號和引號—可能導致你的數(shù)據(jù)庫遭到攻擊,最終得到你無法預料的結果。

解決方案是在把這些數(shù)據(jù)存入數(shù)據(jù)庫前對這些數(shù)據(jù)進行相關處理。這樣做會浪費一些系統(tǒng)時間,增加一些額外編碼。

CI 的表單輔助函數(shù)會自動地完成這些工作。因此,當你編寫一個輸入框時:

echo form_input('username', 'johndoe');

CI 也隱式地執(zhí)行下列校驗函數(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ù)捕獲像“&”這樣的特殊字符,以便在你的頁面提交時不會造成混亂。你應該知道,有些字符會引起問題。

并不是所有的用戶都會中規(guī)中矩的輸入符合要求的信息,你也不可能知道使用瀏覽器輸入信息的是什么人,他們在想什么,做什么。你可以使用 CI 來防止輸入不符合要求的信息。當然,你大可不必知道 CI 是如何在幕后為你做到這一切的,你只需要簡單地輸入如下代碼:

echo form_input('username', 'johndoe');

更多關于CodeIgniter相關內(nèi)容感興趣的讀者可查看本站專題:《codeigniter入門教程》、《CI(CodeIgniter)框架進階教程》、《php優(yōu)秀開發(fā)框架總結》、《ThinkPHP入門教程》、《ThinkPHP常用方法總結》、《Zend FrameWork框架入門教程》、《php面向對象程序設計入門教程》、《php+mysql數(shù)據(jù)庫操作入門教程》及《php常見數(shù)據(jù)庫操作技巧匯總

希望本文所述對大家基于CodeIgniter框架的PHP程序設計有所幫助。

相關文章

最新評論