PROBLEMA
Quando utilizzo strumenti online per testare l'URL www.bestbuy.com , ricevo un errore di connessione timeout.
Per strumenti online intendo Controllo codice stato HTTP o Dama di reindirizzamento .
COMPORTAMENTO PREVISTO
Mi aspetto di ricevere un 200 codice di stato HTTP , come se stessi visitando il sito Web con un normale client Web.
MY GOAL
Il mio obiettivo è capire esattamente cosa sta causando questo comportamento (tecnologia e configurazione). Sono davvero curioso di questa implementazione dal momento che può essere utile per progetti futuri.
COSA HO PROVATO
Ho provato diversi metodi per replicare l'errore di timeout della connessione, ma non sono riuscito a raggiungere il mio obiettivo.
TEST 1
La prima cosa che ho fatto è stato controllare diversi strumenti online. Testato almeno 20 di loro e ogni volta che ricevo una risposta di timeout della connessione. Esempio:
- web-sniffer.net
- builtwith.com
- urlitor.com
- link
- tools.searchbrain.it/chain-of-fools
- redirect-checker.org
- internetmarketingninjas.com/header-checker
Il mio primo pensiero è stato che stavano bloccando specifici intervalli IP, ma alcuni degli strumenti che ho usato non erano così famosi. Solo lo strumento che non è stato riagganciato è Info sui siti W3 Techs , ma potrebbe trattarsi di dati obsoleti.
In questo caso ho provato diverse configurazioni di User Agent e HTTP Header, usando esattamente lo stesso come se richiedessi l'URL con il mio browser.
TEST 2
Ho cercato di replicare il comportamento con un browser. Testato diversi agenti utente e intestazioni HTTP. Anche navigato il sito web senza javascript, cookie o cache abilitati, ma niente.
Alcuni agenti utente ottengono un codice di stato HTTP Proibito 403, ma la maggior parte delle volte ottengo ancora un 200.
TEST 3
Dubitavo strongmente che gli strumenti online che usavo TUTTI avessero lasciato una specie di impronta digitale. Voglio dire, alla fine è ancora una semplice richiesta HTTP, giusto?
Ma per non lasciare nulla di intentato ho ancora impostato rapidamente due controller di codice HTTP Status locali, uno in PHP usando cURL e l'altro in Python usando Flask e richieste .
In questo caso ho anche provato diverse configurazioni, intestazioni HTTP e configurazioni. L'unica volta che ricevo un timeout è se non si imposta affatto un User Agent, ma in tutti gli altri scenari ottengo sempre un 200.
TEST 4
Ho anche cercato online sulle configurazioni di Akamai e Nginx che potrebbero causare questo comportamento, ma non ho trovato nulla di definitivo.
Ho provato a visitare il sito web attraverso la rete TOR e ho ricevuto il messaggio 403 Proibito.
CONCLUSIONI
Quindi la mia conclusione finale è che naturalmente ci sono diverse misure di sicurezza della rete, ma non so davvero cosa stia causando l'errore di connessione timeout usando gli strumenti online.
Esiste la teoria degli intervalli IP bloccati, ma come ho detto prima ho usato più strumenti, anche non così famosi, quindi il mio dubbio persiste. E se questo è il caso, non so ancora esattamente quale tipo di configurazione possa bloccare tutti quegli strumenti online o se esiste una lista pubblica perché è la prima volta che vedo accadere quando analizzo un sito web per ricerche competitive.
Ho persino contattato un dipendente presso BESTBUY, responsabile della gestione della rete e dell'IT, ma sfortunatamente non ho potuto aiutare con questo problema.
Probabilmente mi manca qualcosa perché non sono un esperto in questa materia e forse sto affrontando il problema dalla prospettiva sbagliata, quindi ho pensato che l'unico posto in cui avrei potuto ottenere una risposta definitiva era qui a StackExchange.
Aiuta un povero ragazzo, non riesce a dormire con problemi irrisolti e sto esaurendo la mia scorta di caffè: D