php 防注入與字元反過濾代碼

來源:互聯網
上載者:User

//==防注入自動過濾[啟用後程式效率低]==========================================================================================
/*
function inject_checks($sql_str){return eregi('select|insert|update|delete|'|/*|*|../|./|union|into|load_file|outfile', $sql_str);}
foreach ($_REQUEST as $value){if (inject_checks($value)){echo "<script language=javascript>alert('你提交的資料非法,請檢查後重新提交!');</script>";exit;}}
*/
//==防注[inject_check($sql_str)]==========================================================================================
function inject_check($sql_str){
if (eregi('select|insert|update|delete|union|into|load_file|outfile', $sql_str)){echo "<script language=javascript>alert('你提交的資料非法,請檢查後重新提交!');</script>";exit;}
return $sql_str;
}
//==字元過濾[safe_convert($string)]==============================================================================
function safe_convert($string){ //Words Filter
if(get_magic_quotes_gpc()){ //逸出字元 加上反斜線
        $string=htmlspecialchars($string, ENT_QUOTES); //將特殊字元轉成HTML字串格式如 "&"轉成"&amp;"
        $string=str_replace("<","&lt;",$string); //替換
        $string=str_replace(">","&gt;",$string); //替換
        $string=str_replace("\", '&#92;', $string); //替換  
    } else {
        $string=addslashes($string); //逸出字元 加上反斜線 //$string=stripslashes($string); //去掉反斜線
        $string=str_replace("\\", '&#92;', $string);
    }
    //$string=str_replace("r","<br/>",$string); //換行
    //$string=str_replace("n","",$string); //空格
    $string=str_replace("t","&nbsp;&nbsp;",$string); //空格
    $string=str_replace("  "," &nbsp;",$string); //空格
    //$string=str_replace('|', '&#124;', $string); //替換 同分類系統有衝突
    $string=str_replace("&amp;#96;","&#96;",$string); //替換
    $string=str_replace("&amp;#92;","&#92;",$string); //替換
    return $string;
}
//==字元反過濾[unsafe_convert($string)]==============================================================================
function unsafe_convert($string){ //Words Filter
    $string=str_replace("&#92;&quot;","&quot;",$string); //替換
    return $string;
}

//==字元過濾[filter($string)]============================================================================================
function filter($string){ //Words Filter
include("Filter.php");//詞彙過濾列表
foreach($badwords as $badword){
if(stristr($string,$badword)==true){echo "<script language=javascript>alert('警告:你提交的內容含有敏感字眼,請更換內容。');</script>";exit;}
}
return $string;
}

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.