淺析php過濾html字符串,防止SQL注入的方法
更新時間:2013年07月02日 15:20:10 作者:
本篇文章是對php中過濾html字符串,防止SQL注入的方法進行了詳細(xì)的分析介紹,需要的朋友參考下
批量過濾post,get敏感數(shù)據(jù)
$_GET = stripslashes_array($_GET);
$_POST = stripslashes_array($_POST);
數(shù)據(jù)過濾函數(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)簽,為過濾服務(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ù)過濾函數(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)簽,為過濾服務(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攻擊的兩個簡單方法
- PHP簡單實現(xiàn)防止SQL注入的方法
- php防止sql注入示例分析和幾種常見攻擊正則表達式
- 探討php中防止SQL注入最好的方法是什么
- PHP登錄環(huán)節(jié)防止sql注入的方法淺析
- PHP+mysql防止SQL注入的方法小結(jié)
- php+mysqli預(yù)處理技術(shù)實現(xiàn)添加、修改及刪除多條數(shù)據(jù)的方法
- php+mysqli使用預(yù)處理技術(shù)進行數(shù)據(jù)庫查詢的方法
- PHP mysqli擴展庫 預(yù)處理技術(shù)的使用分析
- PHP防止sql注入小技巧之sql預(yù)處理原理與實現(xiàn)方法分析
相關(guān)文章
php進行支付寶開發(fā)中return_url和notify_url的區(qū)別分析
這篇文章主要介紹了php進行支付寶開發(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可以用來顯示文章標(biāo)題和分類名稱等,需要的朋友可以參考下2016-01-01詳談配置phpstorm完美支持Codeigniter(CI)代碼自動完成(代碼提示)
下面小編就為大家?guī)硪黄斦勁渲胮hpstorm完美支持Codeigniter(CI)代碼自動完成(代碼提示)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-04-04