$value) { $as_value[$key] = replace_words(addslashes($value)); } } else { //如果$as_value不是陣列,那麼就僅處理一次 switch($as_type){ case 'int': //數字 $as_value = intval($as_value); break; case 'double': //浮點數 $as_value = doubleval($as_value); break; case 'string': //清除特殊字串&HTML轉為實體 //限制字串長度 if (!($as_length==0)){ $as_value = substr($as_value,0,$as_length); } //清除特殊字串 $as_value = replace_words($as_value); //在指定的預定字符前添加反斜線 $as_value = addslashes($as_value); //把一些預定的字符轉為HTML實體 $as_value = htmlspecialchars($as_value,ENT_QUOTES); //htmlspecialchars() 函數把一些預定的字符轉為HTML實體。 //預定的字符是: //& (和號) 轉為 & //" (隻引號) 轉為 " //' (單引號) 轉為 ' //< (小於) 轉為 < //> (大於) 轉為 > //html_entity_decode() //呈現時還原HTML break; case '9zstring': //僅可輸入英數字 //限制字串長度 if (!($as_length==0)){ $as_value = substr($as_value,0,$as_length); } //字串比對僅英文字 $as_value = words_match($as_value); break; case 'paswordstring': $as_value = preg_replace("']*?>.*?'si", "", $as_value);//去掉javascrip break; default: //同string //限制字串長度 if (!($as_length==0)){ $as_value = substr($as_value,0,$as_length); } //清除特殊字串 $as_value = replace_words($as_value); //在指定的預定字符前添加反斜線 $as_value = addslashes($as_value); //把一些預定的字符轉為HTML實體 $as_value = htmlspecialchars($as_value,ENT_QUOTES); } //Update特殊字串及字串檢查 //$as_value = replace_words($as_value); //字串比對 //$as_value = words_match($as_value); } return $as_value; } /*----------------------------------------------------------------------------- 函數名稱: replace_words 函數功能: 防堵SQL Injection Update特殊字及HTML格式 函數引數: $as_words (String) 傳入字串 函數傳回值:$ls_words(String) 傳回處理後字串 函數創始: Rex 編輯開始時間: 2012/01/16 ------------------------修改記錄------------------------------------------------ [程式修改時間] [程式修改人] [修改的部份,約略描述] 2012/01/16 Rex 新增 -----------------------------------------------------------------------------*/ function replace_words($as_words) { //引號轉換為全型 $as_words = str_replace("'","’",$as_words); $as_words = str_replace('"','"',$as_words); $as_words = str_replace(";","﹔",$as_words); $as_words = str_replace(",","﹐",$as_words); //覆蓋特殊字元 $as_words = str_replace("%","",$as_words); $as_words = str_replace("--","",$as_words); $as_words = str_replace("/*","",$as_words); $as_words = str_replace(";","",$as_words); $as_words = str_replace(",","",$as_words); $as_words = str_replace("'","",$as_words); $as_words = str_replace('"',"",$as_words); $as_words = preg_replace("']*?>.*?'si", "", $as_words);//去掉javascrip return $as_words; } /*----------------------------------------------------------------------------- 函數名稱: words_match 函數功能: 防堵SQL Injection 字串比對 函數引數: $as_match (String) 傳入字串 函數傳回值:$ls_match(String) 傳回處理後字串 函數創始: Rex 編輯開始時間: 2012/01/16 ------------------------修改記錄------------------------------------------------ [程式修改時間] [程式修改人] [修改的部份,約略描述] 2012/01/16 Rex 新增 -----------------------------------------------------------------------------*/ function words_match($as_match) { if(preg_match('#[^A-Za-z0-9./_-]#',$as_match)){ $loop_num = mb_strlen( $as_match, "utf-8"); for($x=0;$x<$loop_num;$x++){ if(preg_match('#[^A-Za-z0-9./_-]#',substr($as_match,$x,1))){ $as_match = str_replace(substr($as_match,$x,1),"",$as_match); $x--; $loop_num--; } //下面二行為了防止無限迴圈 if($x>$loop_num) exit; } //$as_match = ""; } return $as_match; } ?>'.$i.''; }else{ $select_all .= ''; } } $prepage=$page-1; $nextpage=$page+1; if($prepage<=0){$prepage=1;} if($nextpage>=$pages){$nextpage=$pages;} if($page != 1){ $page_fr= <<< page_front page_front; }else{ $page_fr= <<< page_front page_front; } if($page != $pages){ $page_la= <<< page_last page_last; }else{ $page_la= <<< page_last page_last; } $page_conet_bef= <<< page_conet $page_fr $page_la
page_conet; if($pages > 1){ $page_conet_all= <<< page_sele
$page_conet_bef
page_sele; } return $page_conet_all; } ?>= $ls_end2){ $ls_end = $ls_end2; }else{ $ls_end = $ls_end1; } } } //連結長度 $ls_length = $ls_end - $ls_start; if ($ls_length > 300){ continue; } $ls_adr_show =""; $ls_adr =""; $li_show_end_length = $ls_show_end - $ls_start; $ls_adr_show = substr($ls_http,$ls_start,$li_show_end_length+1); $ls_adr = substr($ls_http,$ls_start,$ls_length); $as_link[$j] = "".$ls_adr_show.""; $ls_link = "[@Link".$j."]"; $ls_http = str_replace($ls_adr,$ls_link,$ls_http); //$ls_start = stripos($ls_http,'',$ls_end); $ls_do = stripos($ls_http,'http://',$ls_start) ; if ($i > 10){ continue; } } $i=0; $ls_start=0; $ls_do = stripos($ls_http,'https://',$ls_start) ; $ls_show_end = stripos($ls_http,'/',$ls_do + 8); while ($ls_do) { $i++; $j++; $ls_start = stripos($ls_http,'https://',$ls_start) ; $ls_end1 = stripos($ls_http,' ',$ls_start); $ls_end2 = stripos($ls_http,'= $ls_end2){ $ls_end = $ls_end2; }else{ $ls_end = $ls_end1; } } } $ls_length = $ls_end - $ls_start; if ($ls_length > 300){ continue; } $li_show_end_length = $ls_show_end - $ls_start; $ls_adr_show = substr($ls_http,$ls_start,$li_show_end_length+1); $ls_adr = substr($ls_http,$ls_start,$ls_length); //$ls_link = "".$ls_adr_show.""; $as_link[$j] = "".$ls_adr_show.""; $ls_link = "[@Link".$j."]"; $ls_http = str_replace($ls_adr,$ls_link,$ls_http); //$ls_start = stripos($ls_http,'',$ls_end); $ls_do = stripos($ls_http,'https://',$ls_start) ; if ($i > 10){ continue; } } if(!empty($as_link)){ foreach($as_link as $as_link_loop){ $k++; $ls_adr = "[@Link".$k."]"; $ls_http = str_replace($ls_adr,$as_link_loop,$ls_http); } } return $ls_http; } ?>'.$conter_data.''; break; case 2: $data_pic[0] = str_replace('id=""','id="PicShowRight"',$data_pic[0]); $conter_data = nl2br($data_content).$data_pic[0]; $conter_data = '
'.$conter_data.'
'; break; case 3: $data_pic[0] = str_replace('id=""','id="PicShowLeft"',$data_pic[0]); $data_pic[1] = str_replace('id=""','id="PicShowRight"',$data_pic[1]); $conter_data = $data_pic[0].nl2br($data_content).$data_pic[1]; $conter_data = '
'.$conter_data.'
'; break; case 4: $data_pic[0] = str_replace('id=""','id="PicShowRight"',$data_pic[0]); $data_pic[1] = str_replace('id=""','id="PicShowLeft"',$data_pic[1]); $conter_data = $data_pic[0].nl2br($data_content).$data_pic[1]; $conter_data = '
'.$conter_data.'
'; break; case 5: if(!empty($data_pic_big)){ foreach($data_pic_big as $data_pic_big_loop){ $data_pic_all .= $data_pic_big_loop; } } $conter_data = '
'.$data_pic_all.'
'.nl2br($data_content).'
'; break; case 6: if(!empty($data_pic_big)){ foreach($data_pic_big as $data_pic_big_loop){ $data_pic_all .= $data_pic_big_loop; } } $conter_data = '
'.nl2br($data_content).'
'.$data_pic_all.'
'; break; case 7: $data_youtube = str_replace('allowfullscreen>','allowfullscreen id="ShowYouTube">',html_entity_decode(stripslashes($data_youtube))); $conter_data = '
'.$data_youtube.nl2br($data_content).'
'; break; default: $conter_data = nl2br($data_content); $conter_data = '
'.$conter_data.'
'; } if($data_type!=7){ $conter_data = content_link($conter_data); } if(!empty($data_file)){ $conter_data =$conter_data."

相關檔案下載連結︰

"; foreach($data_file as $data_file_loop){ $conter_data =$conter_data.$data_file_loop."
" ; } } return $conter_data; } ?>