使用字符串匹配 屏蔽一下搜索关键词
总是有些不怀好意的人,使用一些SQL注入词来尝试搜索,真想对这些人说一句,去你妈的。网站会记录搜索词,我不想记录这些数据,同时也想单独对这些人做一个提示页面,就将一些常用SQL注入字符做个数组,然后跳转到指定页面。
$cat['disabled'] = array('SELECT PG_SLEEP','WAITFOR DELAY','SELECT','EXTRACTVALUE','CONCAT','ORDER BY','or 1=1','and 1=1','and false','and true','--+'); $string = 'SELECT'; $keywordRegex = implode("|",$cat['disabled']); preg_match_all("/(\b{$keywordRegex}\b)/i",$string,$matches); if(count($matches[0])>0){ Header("Location: /error.html"); }