1. php如何過濾★等特殊符號
我的程序是這樣編寫的,相信你一看就懂:
if(preg_match("/[ '.,:;*?~`!@#$%^&+=)(<>{}]|\]|\[|\/|\\\|\"|\|/",$user)){
echo '不要在名字裡面整些特殊符號,請只使用字母、數字和漢字,當然要你的瀏覽器要選簡體中文GB2312喲,千萬不要選繁體、中文HZ等。返回修改後,再來,我等你喲!';
exit();
}
2. php 清除字元串非法字元
$str="x80x802018";
$code=array(
"x80",
" ",
);
$str=str_replace($code,'',$str);
var_mp($str);
可以這樣把特殊字元去掉,發現有什麼特殊字元,就加在code數組裡面,最後列印出來的長度就只有4了。
3. php過濾字元問題
用js過濾非法字元是不安全的,js是客戶端技術,可以本地繞過
如果數據是入庫的,最好在伺服器端在過濾一次,防止惡意字元進入資料庫,形成注入,可以這樣過濾
<?php
if (isset($_GET['price'])){
(is_numeric($_GET['price']) and is_int($_GET['price']+0))?$price=$_GET['price']:die('非int類型,請重新輸入');
echo "價格為 $price";
}
?>
<form action="">
<input type="text" name="price">
<input type="submit" value="send">
</form>
不過int型範圍是2147483647,超出後即使是整數,也被解釋為float
4. php過濾非法字元
幫你寫了個函數,要用時,調用一下就可以了,希望對你有幫組
function safe_string($str){ //過濾安全字元
$str=str_replace("'","",$str);
$str=str_replace('"',"",$str);
$str=str_replace(" ","$nbsp;",$str);
$str=str_replace("\n;","<br/>",$str);
$str=str_replace("<","<",$str);
$str=str_replace(">",">",$str);
$str=str_replace("\t"," ",$str);
$str=str_replace("\r","",$str);
$str=str_replace("/[\s\v]+/"," ",$str);
return $str;
}
5. 哪個不是防護文件包含漏洞的方法
設置白名單:代碼在進行文件包含時,如果文件名可以確定,可以設置白名單對傳入的參數進行比較。如果需要使用文件包含,則通過使用白名單的方法對要包含的文件進行限制,這樣可以做到既使用了文件包含,又可以防止文件包含漏洞。
過濾危險字元:嚴格限制包含中的參數,取消那些不可控的參數。由於 Include Require 可以對 PHP Wrapper 形式的地址進行包含執行(需要配置 php.ini),在 Linux 環境中可以通過」../../」 的形式進行目錄繞過,所以需要判斷文件名稱是否為合法的 PHP 文件。
設置文件目錄:PHP 配置文件中有 open_basedir 選項可以設置用戶需要執行的文件目錄,如果設置目錄的話,PHP 僅僅在該目錄內搜索文件。
關閉危險配置:PHP 配置中的 allow_url_include 選項如果打開,PHP 會通過 Include Require 進行遠程文件包含,由於遠程文件的不可信任性及不確定性,在開發中禁止打開此選項,PHP 默認是關閉的。
6. 如何在PHP中成功的過濾危險HTML的代碼
//php批量過濾post,get敏感數據
if(get_magic_quotes_gpc()){
$_GET=stripslashes_array($_GET);
$_POST=stripslashes_array($_POST);
}
functionstripslashes_array(&$array){
while(list($key,$var)=each($array)){
if($key!='argc'&&$key!='argv'&&(strtoupper($key)!=$key||''.intval($key)=="$key")){
if(is_string($var)){
$array[$key]=stripslashes($var);
}
if(is_array($var)){
$array[$key]=stripslashes_array($var);
}
}
}
return$array;
}
//--------------------------
//替換HTML尾標簽,為過濾服務
//--------------------------
functionlib_replace_end_tag($str)
{
if(empty($str))returnfalse;
$str=htmlspecialchars($str);
$str=str_replace('/',"",$str);
$str=str_replace("\","",$str);
$str=str_replace(">","",$str);
$str=str_replace("<","",$str);
$str=str_replace("<SCRIPT>","",$str);
$str=str_replace("</SCRIPT>","",$str);
$str=str_replace("<script>","",$str);
$str=str_replace("</script>","",$str);
$str=str_replace("select","select",$str);
$str=str_replace("join","join",$str);
$str=str_replace("union","union",$str);
$str=str_replace("where","where",$str);
$str=str_replace("insert","insert",$str);
$str=str_replace("delete","delete",$str);
$str=str_replace("update","update",$str);
$str=str_replace("like","like",$str);
$str=str_replace("drop","drop",$str);
$str=str_replace("create","create",$str);
$str=str_replace("modify","modify",$str);
$str=str_replace("rename","rename",$str);
$str=str_replace("alter","alter",$str);
$str=str_replace("cas","cast",$str);
$str=str_replace("&","&",$str);
$str=str_replace(">",">",$str);
$str=str_replace("<","<",$str);
$str=str_replace("",chr(32),$str);
$str=str_replace("",chr(9),$str);
$str=str_replace("",chr(9),$str);
$str=str_replace("&",chr(34),$str);
$str=str_replace("'",chr(39),$str);
$str=str_replace("<br/>",chr(13),$str);
$str=str_replace("''","'",$str);
$str=str_replace("css","'",$str);
$str=str_replace("CSS","'",$str);
return$str;
}
7. php中如何過濾所有的特殊字元
用正則匹配替換
用函數str_replace一個一個替換