国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > PHP > 正文

CI框架安全過濾函數示例

2024-05-05 00:04:25
字體:
來源:轉載
供稿:網友

本文實例講述了CI框架安全過濾函數。分享給大家供大家參考,具體如下:

1、CI框架版本:

/*** 自動過濾變量,進行XSS,去空* 支持:單個字符串,多維數組,數字* @param type $param = '常規字符串' 或 array('字符串1','字符串2');* @return string|array*/final protected function html_trim($param=''){  if(is_array($param) && !empty ($param)){    return ($param);  }  if(is_string($param)){    return htmlspecialchars(trim($param));  }  if(is_numeric($param))  {    return (int)$param;  }  return $param;}

使用方式為:

$this->html_trim($this->input->post('refer_url',TRUE));

由于第二個參數為TRUE,默認已經進行了xss過濾

2、原生PHP版本

/** * 安全過濾類-過濾javascript,css,iframes,object等不安全參數 過濾級別高 * @param string $value 需要過濾的值 * @return string */function fliter_script($value) {   $value = preg_replace("/(javascript:)?on(click|load|key|mouse|error|abort|move|unload|change|dblclick|move|reset|resize|submit)/i","&111n//2",$value);   $value = preg_replace("/(.*?)<//script>/si","",$value);   $value = preg_replace("/(.*?)<//iframe>/si","",$value);   $value = preg_replace ("//iesU", '', $value);   return $value;}/** * 安全過濾類-過濾HTML標簽 * @param string $value 需要過濾的值 * @return string */function fliter_html($value) {   if (function_exists('htmlspecialchars')) return htmlspecialchars($value);   return str_replace(array("&", '"', "'", "<", ">"), array("&", "/"", "'", "<", ">"), $value);}/** * 安全過濾類-對進入的數據加下劃線 防止SQL注入 * @param string $value 需要過濾的值 * @return string */function fliter_sql($value) {   $sql = array("select", 'insert', "update", "delete", "/'", "///*",     "/././/", "/.//", "union", "into", "load_file", "outfile");   $sql_re = array("","","","","","","","","","","","");   return str_replace($sql, $sql_re, $value);}/** * 安全過濾類-通用數據過濾 * @param string $value 需要過濾的變量 * @return string|array */function fliter_escape($value) { if (is_array($value)) {   foreach ($value as $k => $v) {      $value[$k] = self::fliter_str($v);   } } else {   $value = self::fliter_str($value); } return $value;}/** * 安全過濾類-字符串過濾 過濾特殊有危害字符 * @param string $value 需要過濾的值 * @return string */function fliter_str($value) {   $badstr = array("/0", "%00", "/r", '&', ' ', '"', "'", "<", ">", "  ", "%3C", "%3E");   $newstr = array('', '', '', '&', ' ', '"', ''', "<", ">", "  ", "<", ">");   $value = str_replace($badstr, $newstr, $value);   $value = preg_replace('/&((#(/d{3,5}|x[a-fA-F0-9]{4}));)/', '&//1', $value);   return $value;}/** * 私有路勁安全轉化 * @param string $fileName * @return string */ function filter_dir($fileName) { $tmpname = strtolower($fileName); $temp = array(':/',"/0", ".."); if (str_replace($temp, '', $tmpname) !== $tmpname) {   return false; } return $fileName;}/** * 過濾目錄 * @param string $path * @return array */public function filter_path($path) {   $path = str_replace(array("'",'#','=','`','$','%','&',';'), '', $path);   return rtrim(preg_replace('/(//){2,}|(///){1,}/', '/', $path), '/');}/** * 過濾PHP標簽 * @param string $string * @return string */public function filter_phptag($string) {   return str_replace(array(''), array('<?', '?>'), $string);}/** * 安全過濾類-返回函數 * @param string $value 需要過濾的值 * @return string */public function str_out($value) {   $badstr = array("<", ">", "%3C", "%3E");   $newstr = array("<", ">", "<", ">");   $value = str_replace($newstr, $badstr, $value);   return stripslashes($value); //下劃線}

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


注:相關教程知識閱讀請移步到PHP教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 买车| 工布江达县| 怀宁县| 洪泽县| 崇义县| 乐陵市| 英山县| 绥化市| 鸡东县| 扬州市| 邢台市| 隆林| 广汉市| 苏州市| 库尔勒市| 罗城| 全椒县| 咸宁市| 河源市| 迁安市| 岱山县| 蓬莱市| 汉寿县| 社旗县| 江安县| 资溪县| 陵川县| 报价| 德格县| 韶关市| 武清区| 玉溪市| 绥滨县| 永兴县| 罗源县| 永宁县| 卢龙县| 绥德县| 吉木乃县| 朝阳区| 页游|