程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> PHP基礎知識 >> 談CI框架的安全性

談CI框架的安全性

編輯:PHP基礎知識
 

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

 


防止對數據庫的攻擊

 

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

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

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

 

 


PHP 代碼

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

 

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

 


PHP 代碼

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');
 

 
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved