2010-12-13 29 views
4

Quel est le meilleur moyen de rejeter une requête provenant de scripts malveillants? J'ai une application Zend avec des modules. J'ai une liste d'URL que les scanners appellent, comme mywebsite.com/phpmyadmin,/webmail,/cpanel, etc. En ce moment, ils obtiennent 404's, encombrant mon journal des erreurs. Je voudrais les 403 à partir de l'application. (À moins qu'il y ait une meilleure façon de gérer cela)?Le moyen le plus rapide à 403 dans le framework Zend

Quel est le moyen le plus rapide pour atteindre 403 dans Zend, de sorte qu'il ne passe pas inutilement le cycle d'expédition? Je fais ci-dessous dans un plugin, mais je ne suis pas sûr que ce soit la meilleure façon:

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

Merci pour toutes suggestions!

+0

si je fais votre chemin, il tente encore de charger un script de vue :( mais je le fais dans mon action –

Répondre

0

Si vous savez à quoi ressemblent les URI de demande incorrecte, vous pouvez les envoyer directement vers une page d'erreur statique personnalisée à l'aide des règles mod_rewrite. Entrez les règles avant votre règle qui envoie la demande à index.php et ces demandes ne toucheront jamais votre application.

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

plus vite, pas plus lent. oooh, ouais, c'est une bonne option 403'un scanner automatisé ne fera pas grand-chose ... Le fait que le serveur web gère évidemment les mauvaises pages avant même qu'elles n'atteignent votre application est nettement plus rapide, mais votre liste ne sera jamais complète, Donc, vous devriez également implémenter une autre solution dans votre application, mais celle-ci gérera une grande partie des mauvaises requêtes, –

+0

Pourquoi une page statique? 403 est plus rapide et je crois que certains scanners abandonnent s'ils obtiennent un 403. – RADA