php防止sql注入示例分析和几种常见攻击正则表达式

前端技术 2023/09/05 PHP

注入漏洞代码和分析

复制代码 代码如下:

<?php
function customError($errno, $errstr, $errfile, $errline)
{
    echo \"<b>Error number:</b> [$errno],error on line $errline in $errfile<br />\";
    die();
}
set_error_handler(\"customError\",E_ERROR);
$getfilter=\"\'|(and|or)\\\\b.+?(>|<|=|in|like)|\\\\/\\\\*.+?\\\\*\\\\/|<\\\\s*script\\\\b|\\\\bEXEC\\\\b|UNION.+?SELECT|UPDATE.+?SET|INSERT\\\\s+INTO.+?VALUES|(SELECT|DELETE).+?FROM|(CREATE|ALTER|DROP|TRUNCATE)\\\\s+(TABLE|DATABASE)\";
$postfilter=\"\\\\b(and|or)\\\\b.{1,6}?(=|>|<|\\\\bin\\\\b|\\\\blike\\\\b)|\\\\/\\\\*.+?\\\\*\\\\/|<\\\\s*script\\\\b|\\\\bEXEC\\\\b|UNION.+?SELECT|UPDATE.+?SET|INSERT\\\\s+INTO.+?VALUES|(SELECT|DELETE).+?FROM|(CREATE|ALTER|DROP|TRUNCATE)\\\\s+(TABLE|DATABASE)\";
$cookiefilter=\"\\\\b(and|or)\\\\b.{1,6}?(=|>|<|\\\\bin\\\\b|\\\\blike\\\\b)|\\\\/\\\\*.+?\\\\*\\\\/|<\\\\s*script\\\\b|\\\\bEXEC\\\\b|UNION.+?SELECT|UPDATE.+?SET|INSERT\\\\s+INTO.+?VALUES|(SELECT|DELETE).+?FROM|(CREATE|ALTER|DROP|TRUNCATE)\\\\s+(TABLE|DATABASE)\";
function StopAttack($StrFiltKey,$StrFiltValue,$ArrFiltReq)
{   
    if(is_array($StrFiltValue))
    {
        $StrFiltValue=implode($StrFiltValue);
    }
    if (preg_match(\"/\".$ArrFiltReq.\"/is\",$StrFiltValue)==1&&!isset($_REQUEST[\'securityToken\']))
    {
        slog(\"<br><br>操作IP: \".$_SERVER[\"REMOTE_ADDR\"].\"<br>操作时间: \".strftime(\"%Y-%m-%d %H:%M:%S\").\"<br>操作页面:\".$_SERVER[\"PHP_SELF\"].\"<br>提交方式: \".$_SERVER[\"REQUEST_METHOD\"].\"<br>提交参数: \".$StrFiltKey.\"<br>提交数据: \".$StrFiltValue);
        print \"result notice:Illegal operation!\";
        exit();
    }
}
foreach($_GET as $key=>$value)
{
    StopAttack($key,$value,$getfilter);
}
foreach($_POST as $key=>$value)
{
    StopAttack($key,$value,$postfilter);
}
foreach($_COOKIE as $key=>$value)
{
    StopAttack($key,$value,$cookiefilter);
}

function slog($logs)
{
    $toppath=\"log.htm\";
    $Ts=fopen($toppath,\"a+\");
    fputs($Ts,$logs.\"\\r\\n\");
    fclose($Ts);
}
?>

sql

本文地址:https://www.stayed.cn/item/13038

转载请注明出处。

本站部分内容来源于网络,如侵犯到您的权益,请 联系我

我的博客

人生若只如初见,何事秋风悲画扇。