Che tipo di ritardo dissuaderà un robot dalla scansione del mio sito?

6

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 .

    
posta Free Radical 06.01.2013 - 11:14
fonte

3 risposte

12

Non penso che questo tipo di approccio sia una buona idea. Usando la funzione sleep () su alcune richieste, è più facile per un utente malintenzionato creare Denial of Service. Creerebbe solo un sacco di richieste per la risorsa che stai scontando. In questo modo, il numero di richieste che il server può elaborare in un momento sarebbe raggiunto e gli utenti legittimi non sarebbero in grado di accedere al sito.

Inoltre, non devi "punire" l'utente offrendogli un lungo tempo di attesa. Cercherò alternative se una pagina web è sempre lenta.

La migliore protezione non è avere informazioni sensibili accessibili al pubblico. Utilizzare un meccanismo di autenticazione per proteggere tali risorse e consentire l'accesso solo agli utenti desiderati.

Se stai cercando di impedire ai robot di copiare informazioni dal tuo sito, forse CAPTCHA potrebbe aiutarti. Utilizzare un CAPTCHA prima di visualizzare determinate informazioni.

    
risposta data 06.01.2013 - 12:24
fonte
3

È improbabile che un ritardo sia effettivamente utilizzato per dissuadere un sistema automatico. I sistemi automatizzati aspetteranno indefinitamente, probabilmente più a lungo di quanto sarebbe disposto a una persona, quindi è più probabile che scoraggi i clienti rispetto ai robot, quindi sarebbe un problema per le aziende.

    
risposta data 06.01.2013 - 15:35
fonte
2

Un approccio migliore potrebbe essere quello di avere un reindirizzamento su IP bot scadente. Questo reindirizzamento potrebbe spiegare la situazione e fornire un CAPTCHA per rimuovere l'IP dal file bot danneggiato.

    
risposta data 07.01.2013 - 15:14
fonte

Leggi altre domande sui tag