Come fanno i siti Web a tenere traccia degli utenti per il controllo del flusso

2

Ho scritto un breve programma che utilizza un browser web per visitare molte pagine di un sito web (su cui gli utenti possono vendere / acquistare articoli - un po 'come un esperto di eBay). Tuttavia, dopo circa 20 visualizzazioni di pagina, vengo indirizzato a una pagina di controllo del flusso: "hai fatto troppe richieste di recente".

In realtà non ho alcun problema con la diffusione delle mie richieste, questo è per un progetto per animali domestici niente di commerciale. Comunque ho pensato di provare ad aggirarlo, quindi posso essere sicuro di non perdere le pagine (il mio piano è di fare esattamente 20 pagine ogni ora che al momento sembra essere al di sotto del confine). All'inizio pensavo che potessero essere solo i cookie, quindi li ho cancellati dopo ogni richiesta. Ho pensato che potesse essere qualcosa a che fare con l'ultima pagina in cui mi trovavo (cioè mi sposto alla pagina 2 e sa che sono venuto dalla pagina 1 ecc.). così ho inviato il controllo webbrowser a circa bianco e tra le richieste (nessun successo qui).

Quindi, in che modo un sito web tiene traccia degli utenti ai fini del controllo di flusso? non può essere basato su IP perché posso ancora accedere al sito usando un browser diverso (chrome anziché IE incorporato).

    
posta FraserOfSmeg 11.03.2016 - 21:50
fonte

1 risposta

2

Ci sono molti modi per far rispettare il limite di velocità delle richieste, quindi mi concentrerò principalmente su ciò che sembra accadere nel tuo caso;

È altamente improbabile, considerando che si tratti di un sito commerciale, che ti stai occupando di un sistema di IDS ritentivo (Intrusion Detection System) ritentivo per bloccare qualsiasi cosa che assomigli a un crawler e blocchi (reindirizza nel tuo caso) richieste sulla rete livello. Anche se tali sistemi sono in grado di limitare la frequenza delle richieste, in siti come quelli che descrivi, quelli sarebbero configurati in modo molto più permissivo e tentano solo di impedire richieste illegali, richieste di alluvioni e simili. 20 GET richieste all'ora non è quello.

È più probabile che tu abbia colpito un WAF (Web Application Firewall) fastidioso che agisce a livello di applicazione e si preoccupa di impronte digitali del browser e confronta le richieste consecutive per stabilire se Sei un crawler, quindi contrassegna le tue richieste come sospette se seguono determinati schemi che sono impostati (o persino addestrati, se hai a che fare con un WAF euristico) da rilevare. Come, ad esempio, richiedendo molte pagine successive nello stesso ordine in cui appaiono nel sorgente, ma manca questa pagina di origine (o il dominio da solo nel caso di HTTPS) nel% di intestazione della richiesta GET referer [sic, è mispelled in Campo delle specifiche HTTP]. Questo accadrebbe se avessi programmato il tuo browser per richiedere ogni nuova pagina in modo indipendente, come se avessi digitato il suo URL nella barra degli indirizzi e premuto Invio, ed è uno dei metodi più sicuri (bassa probabilità di falsi positivi) di rilevare i crawler automatici (ovvero i bot in particolare se richiedi ripetutamente URL lunghi e disordinati e altrimenti utilizzi versioni leggibili degli URL, o dotati di parametri URI aggiuntivi (schemi referrer, tracciamento degli utenti, ...) nelle e-mail e in qualsiasi altro luogo in cui gli utenti potrebbero accedere a più di in un breve periodo di tempo senza aprirli attraverso una pagina di destinazione.

In breve, se vuoi evitare questo rilevamento di crawler automatizzati, dovrai ispezionare e rispettare le regole nella loro pagina robots.txt , richiedere l'amministratore del sito per lassare le regole per il crawler e assicurarti possono facilmente identificarlo (ad esempio attraverso la stringa user-agent), o rendere il tuo script tale da imitare meglio un utente umano. Il penultimo paragrafo dovrebbe aiutarti a evitare una delle tecniche di rilevamento dei bot più comuni che sembra applicarsi nel tuo caso, ma potresti colpirne altre quando la tua richiesta aumenta.

    
risposta data 12.03.2016 - 00:34
fonte

Leggi altre domande sui tag