Quiero evitar que los robots inunden mi sitio web y estoy pensando en una prohibición en estos casos ...
¿Puedo suponer que un agente de usuario vacío siempre será un robot?
Quiero evitar que los robots inunden mi sitio web y estoy pensando en una prohibición en estos casos ...
¿Puedo suponer que un agente de usuario vacío siempre será un robot?
Casi siempre, pero no siempre. Podría ser un usuario detrás de un proxy mal configurado o una extensión del navegador, o (más probablemente) alguien que use telnet / netcat:
netcat server 80
GET / HTTP/1.0
<enter>
<enter>
Y listo.
Puedes prohibir a los usuarios sin User-Agent
establecido, pero es muy fácil establecer uno. curl
, wget
, aria2
, python
y casi todos los comandos / bibliotecas / marcos únicos tendrán una opción para anular la cadena User-Agent.
Será mejor que implementes la limitación de velocidad en las páginas sensibles, los captchas cuando se alcance el límite y la prohibición después de una serie de fallos de captcha.