Uso quello che ritengo sia il metodo standard per identificare i bot difettosi che non rispettano il mio robots.txt
(cioè non autorizzare la scansione della sottodirectory bad-bots
, quindi registrare quelli che ci vanno ancora).
Finora, ho appena bloccato bot difettosi in base al loro indirizzo IP dopo che sono stati identificati. Tuttavia, sto pensando di introdurre un approccio più sottile per almeno alcuni (ad esempio i trasgressori spuri che potrebbero essere falsi positivi). L'idea è che la richiesta verrà pubblicata, ma dopo un ritardo (ad esempio implementato utilizzando PHP sleep()
). In questo modo, un (paziente) essere umano a cui viene assegnato un indirizzo IP precedentemente utilizzato da un bot non funzionante vedrà la pagina, mentre un bot cattivo potrebbe semplicemente abbandonare la richiesta e passare alla vittima successiva.
La domanda è: quale numero di secondi dovrei usare in questo tipo di schema? Idealmente, dovrebbe essere abbastanza breve da non essere troppo fastidioso per gli umani, mentre abbastanza a lungo da scoraggiare un cattivo bot dalla scansione del mio sito.
In alternativa: esiste un metodo che potrei usare per misurare il tempo in cui un bot che tenta di accedere al mio sito attende una risposta prima di "arrendersi" e andare avanti?
Modifica : i commenti di Dinu Smădu e Rory Alsop mi hanno convinto che introdurre un ritardo non è una buona idea. E Polynominal ha suggerito che Security.SE potrebbe non essere la sede più adatta. Quindi ho preso ciò che ho imparato qui (grazie ancora, gente!) E ho postato una domanda rivista su Webmasters.SE .