淺析php過(guò)濾html字符串,防止SQL注入的方法
更新時(shí)間:2013年07月02日 15:20:10 作者:
本篇文章是對(duì)php中過(guò)濾html字符串,防止SQL注入的方法進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
批量過(guò)濾post,get敏感數(shù)據(jù)
$_GET = stripslashes_array($_GET);
$_POST = stripslashes_array($_POST);
數(shù)據(jù)過(guò)濾函數(shù)
function stripslashes_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尾標(biāo)簽,為過(guò)濾服務(wù)
function lib_replace_end_tag($str)
{
if (empty($str)) return false;
$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;
}
復(fù)制代碼 代碼如下:
$_GET = stripslashes_array($_GET);
$_POST = stripslashes_array($_POST);
數(shù)據(jù)過(guò)濾函數(shù)
復(fù)制代碼 代碼如下:
function stripslashes_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尾標(biāo)簽,為過(guò)濾服務(wù)
復(fù)制代碼 代碼如下:
function lib_replace_end_tag($str)
{
if (empty($str)) return false;
$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;
}
您可能感興趣的文章:
- php中防止SQL注入的最佳解決方法
- php防止SQL注入詳解及防范
- PHP中防止SQL注入攻擊和XSS攻擊的兩個(gè)簡(jiǎn)單方法
- PHP簡(jiǎn)單實(shí)現(xiàn)防止SQL注入的方法
- php防止sql注入示例分析和幾種常見(jiàn)攻擊正則表達(dá)式
- 探討php中防止SQL注入最好的方法是什么
- PHP登錄環(huán)節(jié)防止sql注入的方法淺析
- PHP+mysql防止SQL注入的方法小結(jié)
- php+mysqli預(yù)處理技術(shù)實(shí)現(xiàn)添加、修改及刪除多條數(shù)據(jù)的方法
- php+mysqli使用預(yù)處理技術(shù)進(jìn)行數(shù)據(jù)庫(kù)查詢的方法
- PHP mysqli擴(kuò)展庫(kù) 預(yù)處理技術(shù)的使用分析
- PHP防止sql注入小技巧之sql預(yù)處理原理與實(shí)現(xiàn)方法分析
相關(guān)文章
利用PHP函數(shù)計(jì)算中英文字符串長(zhǎng)度的方法
這篇文章主要介紹了利用PHP函數(shù)計(jì)算中英文字符串長(zhǎng)度的方法,實(shí)例對(duì)比了PHP函數(shù)實(shí)現(xiàn)方法與正則表達(dá)式的實(shí)現(xiàn)方法,具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2014-11-11php進(jìn)行支付寶開發(fā)中return_url和notify_url的區(qū)別分析
這篇文章主要介紹了php進(jìn)行支付寶開發(fā)中return_url和notify_url的區(qū)別,較為詳細(xì)的分析了return_url和notify_url的區(qū)別與用法,需要的朋友可以參考下2014-12-12詳解WordPress開發(fā)中wp_title()函數(shù)的用法
這篇文章主要介紹了WordPress開發(fā)中wp_title()函數(shù)的用法,wp_title可以用來(lái)顯示文章標(biāo)題和分類名稱等,需要的朋友可以參考下2016-01-01詳談配置phpstorm完美支持Codeigniter(CI)代碼自動(dòng)完成(代碼提示)
下面小編就為大家?guī)?lái)一篇詳談配置phpstorm完美支持Codeigniter(CI)代碼自動(dòng)完成(代碼提示)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-04-04