web-dev-qa-db-fra.com

Comment puis-je contourner la gestion de Wordpress 404?

Comment puis-je ignorer Wordpress s'il y a un 404? J'ai essayé d'ajouter un ErrorDocument au .htaccess sans joie.

La raison pour laquelle je pose cette question est que nous utilisons beaucoup de champs personnalisés. Notre site est donc très lent. J'utilise donc beaucoup de cache pour résoudre ce problème. Nous avons été témoins de nombreuses attaques de scripts exécutant des scripts d'analyse de vulnérabilité qui génèrent de nombreux 404 à la seconde et surchargent le serveur. Je pense que si je ne retourne qu'un simple document html 404, cela réduira considérablement la charge du serveur lors de ces attaques. Le Wordpress 404 actuel ne convient pas à mes besoins, car il est encore relativement lent.

Tout avis sera le bienvenu.

Merci

Modifier. Je ne pense pas que ce soit un doublon de Comment puis-je ignorer la gestion 404 de Wordpress et rediriger toutes les erreurs 404 des fichiers statiques vers 404.html? car cela concerne les fichiers statiques. Ma requête concerne n'importe quel 404 et la solution sur cette page ne fonctionne pas pour mon problème.

2
Doyley

Si vous avez une requête non statique telle que:

example.tld/some-slug/

ensuite, vous devrez exécuter WordPress pour voir si ce slug est disponible.

Le serveur Web (nginx/Apache) ne le sait pas, car WordPress devra nous en informer via l'en-tête de la réponse 404.

Si votre site ne compte que quelques pages, vous pouvez en informer le serveur Web au préalable.

Je ne sais pas s’il existe des modules de serveur Web capables de stocker les sitemaps WordPress existants (sur disque ou en mémoire) afin de vérifier préalablement les erreurs 404 possibles.

Si ce slug n'existe pas et que vous recevez des milliers de demandes sur ce slug, vous pouvez alors essayer de mettre en cache la réponse 404.

Il existe des plugins de cache qui peuvent le faire.

Mais cela pourrait ne pas être si utile si l'attaque consiste en des slugs aléatoires:

example.tld/azwc/
example.tld/eldw/
example.tld/tpwh/
...

Ensuite, vous pouvez bloquer l’adresse IP, mais il existe probablement des milliers d’adresses IP.

Vous pouvez ensuite essayer des services qui collectent et bloquent un grand nombre d'adresses IP incorrectes.

De toute façon, vous devriez essayer de réduire votre page 404.php.

La défense peut dépendre beaucoup du type de demandes d'attaque que vous recevez.

1
birgire