一个基于php的防火墙程序,拦截sql注入和xss攻击等
composer require xielei/waf
$waf = new XieleiWafWaf();
$waf->run();
$rules = [
'../', //禁用包含 ../ 的参数
'<?', //禁止php脚本出现
's*ors+.*=.*', //匹配' or 1=1 ,防止sql注入
'select([sS]*?)(from|limit)', //防止sql注入
'(?:(union([sS]*?)select))', //防止sql注入
'having|updatexml|extractvalue', //防止sql注入
'sleep((s*)(d*)(s*))', //防止sql盲注
'benchmark((.*),(.*))', //防止sql盲注
'base64_decode(', //防止sql变种注入
'(?:fromW+information_schemaW)', //防止sql注入
'(?:(?:current_)user|database|schema|connection_id)s*(', //防止sql注入
'(?:etc/W*passwd)', //防止窥探linux用户信息
'into(s+)+(?:dump|out)files*', //禁用mysql导出函数
'groups+by.+(', //防止sql注入
'(?:define|eval|file_get_contents|include|require|require_once|shell_exec|phpinfo|system|passthru|preg_w+|execute|echo|print|print_r|var_dump|(fp)open|alert|showmodaldialog)(', //禁用webshell相关某些函数
'(gopher|doc|php|glob|file|phar|zlib|ftp|ldap|dict|ogg|data):/', //防止一些协议攻击
'$_(GET|post|cookie|files|session|env|phplib|GLOBALS|SERVER)[', //禁用一些内置变量,建议自行修改
'<(iframe|script|body|img|layer|div|meta|style|base|object|input)', //防止xss标签植入
'(onmouseover|onerror|onload|onclick)=', //防止xss事件植入
'||.*(?:ls|pwd|whoami|ll|ifconfog|ipconfig|&&|chmod|cd|mkdir|rmdir|cp|mv)', //防止执行shell
's*ands+.*=.*' //匹配 and 1=1
];
$waf = new XieleiWaf($rules);
$waf->run();
$waf = new XieleiWafWaf();
if(!$waf->check()){
echo '非法请求';
die;
}
开源地址
https://github.com/xielei/waf
参与评论
手机查看
返回顶部