Example #1
0
    }
    $headers['User-Agent'] = $hit->UA;
    $headers['Referer'] = $hit->referer;
    $request->setHeaders($headers);
    preg_match('/request\\.([a-z]+)(?:\\[(.*?)\\](.*?))?/i', $hitData->paramKey, $matches);
    if ($matches) {
        switch ($matches[1]) {
            case 'body':
                $request->setMethod('POST');
                parse_str("{$matches['2']}{$matches['3']}", $body);
                $request->setBody($body);
                break;
        }
    }
}
$request->setIP(wfUtils::inet_ntop($hit->IP));
$request->setTimestamp($hit->ctime);
$waf = wfWAF::getInstance();
$waf->setRequest($request);
$result = '<strong class="ok">Passed</strong>';
$failedRules = array();
try {
    $waf->runRules();
} catch (wfWAFAllowException $e) {
    $result = '<strong class="ok">Whitelisted</strong>';
} catch (wfWAFBlockException $e) {
    $result = '<strong class="error">Blocked</strong>';
    $failedRules = $waf->getFailedRules();
} catch (wfWAFBlockSQLiException $e) {
    $result = '<strong class="error">Blocked For SQLi</strong>';
    $failedRules = $waf->getFailedRules();