web-dev-qa-db-fra.com

Wordpress la sécurité des robots

Le site Web de l'un de mes clients génère un trafic massif en provenance de Chine, dont la plupart sont des robots. Ces robots frappent le site sans escale, ce qui oblige la VM à utiliser de très hautes ressources processeur et mémoire. En conséquence, cela coûte à mon client car le site est hébergé sur le cloud.

J'ai bloqué la plupart des adresses IP. J'ai même bloqué tout le pays mais cela ne semble pas aider. Néanmoins, le site reçoit un nombre considérable de visites par minute.

Ces robots frappent une URL spécifique qui avait un formulaire Email. J'ai enlevé le formulaire email. Modification de l'URL et même redirection de l'ancienne URL vers un autre site.

Mais aucun de ceux-ci ne semble avoir d’effet sur l’utilisation de la CPU et de la RAM. Toute aide est appréciée.

Merci

1
arifur

Bloquer les adresses IP

Si vous constatez que certaines adresses IP consultent régulièrement votre site, vous pouvez les bloquer individuellement dans . Htaccess

Order Deny,Allow
Deny from 1.1.1.1
Deny from 2.2.2.2
Deny from 3.3.3.3

Trop de règles sont nécessaires pour bloquer des régions entières du monde par adresse IP dans . Htaccess . Par exemple, bloquer aux États-Unis nécessiterait 150 000 lignes de texte. ( Source )

Bloquer les agents utilisateurs

Si les robots n'utilisent pas les principaux navigateurs, vous pouvez les bloquer par l'agent utilisateur:

# Bot Blocker
<IfModule mod_setenvif.c>
  SetEnvIfNoCase User-Agent ^$ keep_out
  SetEnvIfNoCase User-Agent (pycurl|casper|cmsworldmap|diavol|dotbot) keep_out
  SetEnvIfNoCase User-Agent (flicky|ia_archiver|jakarta|kmccrew) keep_out
  SetEnvIfNoCase User-Agent (purebot|comodo|feedfinder|planetwork) keep_out
  <Limit GET POST PUT>
    Order Allow,Deny
    Allow from all
    Deny from env=keep_out
  </Limit>
</IfModule>

( Source )

Autres techniques

Cet article a un certain nombre d'autres techniques que vous pouvez utiliser. L'article explique très bien chacun d'eux, il serait donc préférable de lire les détails de chacun d'eux.

  • Trouver un hébergement qui bloque
  • Utilisez un CDN
  • Installer des modules Apache tels que MaxMind
  • Implémenter le blocage dans votre application (telle que PHP)
  • Utiliser des tables de routage
  • Utiliser ModSecurity sur le serveur Web
  • Utiliser un service proxy tel que CloudFlare
1