Самый быстрый способ 403 в Zend Framework - PullRequest
4 голосов
/ 13 декабря 2010

Каков наилучший способ отклонить запрос от вредоносных скриптов? У меня есть приложение Zend с модулями. У меня есть список URL-адресов, которые набирают сканеры, такие как mywebsite.com/phpmyadmin, / webmail, / cpanel и т. Д. В настоящее время они получают 404, забивая мой журнал ошибок. Я хотел бы 403 из них из приложения. (Если нет лучшего способа справиться с этим)?

Какой самый быстрый путь к 403 в Zend, так что он не излишне отрабатывает цикл отправки? Я делаю ниже в плагине, но я не уверен, что это лучший способ:

public function preDispatch(Zend_Controller_Request_Abstract $request)
{
    if (malicious request) {
        $this->getResponse()
                    ->clearHeaders()
                    ->setHttpResponseCode(403)
                    ->appendBody("Forbidden")
                    ->sendResponse();
    }
}

Спасибо за любые предложения!

Ответы [ 2 ]

1 голос
/ 13 декабря 2010

Ознакомьтесь с помощником действий Zend Controller под названием Redirector: http://framework.zend.com/manual/en/zend.controller.actionhelpers.html Он будет делать то же самое, что и ваш плагин, но это не обязательно сделает его быстрее.

0 голосов
/ 13 декабря 2010

Если вы знаете, как выглядит URI неверного запроса, вы можете отправить их напрямую на какую-то пользовательскую страницу статической ошибки, используя правила mod_rewrite.Введите правила перед правилом, которое отправляет запрос в index.php, и эти запросы никогда не попадут в ваше приложение.

RewriteEngine On
RewriteRule ^/mywebsite.com/phpmyadmin /errorpage.php [L]
RewriteRule !(phpdoc|docs)|\.(js|ico|gif|jpg|png|css|html)$ /index.php
...