创建一个在执行可疑 DROP 之类查询时触发的 PHP 函数

问题描述 投票:0回答:2

我正在尝试编码

If (the query contains any common attack terms, over 80 characters etc) { execute function  }

我知道 preg_replace 允许字符,但是否有一个函数不允许设置字符串或如何构建类似的东西:

if(isset( contains['DROP, OR, 1-1, etc]) ) {  

    $message = $_SERVER["REMOTE_ADDR"]; 
    $message = $_SERVER[""];
    mail('[email protected]', 'Shady Query Going on', $message);

}

我知道各种插件会发送多次登录尝试和锁定等警告。我希望对 SQLi 尝试做同样的事情

更新:事实证明,这实际上是一个有用的插件 - 当错误登录和其他可疑业务发生时,Better WP Security 会向您发送电子邮件。也没人回答我的问题,看起来像是一堆精英主义的咆哮...... 感谢@Rook 和@Thawab!

php security warnings
2个回答
2
投票

我建议在脚本中使用 http://phpids.org/,因为它可以检测到更多攻击。


0
投票

如果你正确地保护你的网站免受 SQL 注入,你绝对不需要这个。然而,要实施它......

function checkForBlacklistedTerms($string)
{
    $blacklisted = array('DROP', '--', 'KILL', 'BLAH', 'BLIH');
    foreach($blacklisted as $bl) { 
        if( strpos($string, $bl) !== FALSE ) { 
            return true;
        }
    }
    return false;
}

if( checkForBlacklistedTerms($searchquery) || strlen($searchquery) > 80 )
{
   // warning code goes here
}
© www.soinside.com 2019 - 2024. All rights reserved.