CI框架的安全性分析
來源:易賢網 閱讀:1056 次 日期:2016-08-20 14:07:50
溫馨提示:易賢網小編為您整理了“CI框架的安全性分析”,方便廣大網友查閱!

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

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

防止對數據庫的攻擊

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

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

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

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

CI 也隱式地執行下列校驗函數:

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;

}

上述函數捕獲像“&”這樣的特殊字符,以便在你的頁面提交時不會造成混亂。你應該知道,有些字符會引起問題。

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

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

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

更多信息請查看網絡編程
易賢網手機網站地址:CI框架的安全性分析
由于各方面情況的不斷調整與變化,易賢網提供的所有考試信息和咨詢回復僅供參考,敬請考生以權威部門公布的正式信息和咨詢為準!

2026國考·省考課程試聽報名

  • 報班類型
  • 姓名
  • 手機號
  • 驗證碼
關于我們 | 聯系我們 | 人才招聘 | 網站聲明 | 網站幫助 | 非正式的簡要咨詢 | 簡要咨詢須知 | 新媒體/短視頻平臺 | 手機站點 | 投訴建議
工業和信息化部備案號:滇ICP備2023014141號-1 云南省教育廳備案號:云教ICP備0901021 滇公網安備53010202001879號 人力資源服務許可證:(云)人服證字(2023)第0102001523號
云南網警備案專用圖標
聯系電話:0871-65099533/13759567129 獲取招聘考試信息及咨詢關注公眾號:hfpxwx
咨詢QQ:1093837350(9:00—18:00)版權所有:易賢網
云南網警報警專用圖標
未满十八18勿进黄网站免费看