Errore di timeout della connessione utilizzando i codici di controllo del codice di stato HTTP su un sito Web [chiuso]

2

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

    
posta lsgbusiness 25.05.2017 - 09:44
fonte

1 risposta

0

Senza vedere la parte interna della rete di Best Buy e la sua configurazione di firewall / dispositivo di rete sarebbe difficile / impossibile trovare una risposta definitiva per questo.

Detto questo, potremmo speculare sulle possibilità.

hai già eliminato possibili problemi con le intestazioni delle richieste provando varie opzioni.

L'alternativa più probabile, secondo me, è che l'applicazione stia filtrando in base all'indirizzo IP di origine della richiesta.

Ho notato quando visito quella pagina dal Regno Unito che chiede da quale paese provengo, riconoscendo che non sono negli Stati Uniti / Canada / Messico. Quindi è probabile che stiano utilizzando una qualche forma di database di ricerca GeoIP per stabilire questo fatto.

È potrebbe essere che il loro sistema sta facendo controlli supplementari sugli indirizzi IP di origine usati per contattarlo e sta riconoscendo che non provengono da gamme appartenenti a ISP residenziali negli Stati Uniti (io si aspetta che la maggior parte di questi servizi sia ospitata in una rete di società di hosting / cloud company da qualche parte).

Poiché potrebbe determinare che l'indirizzo IP di origine è improbabile che sia un vero cliente in quel momento, potrebbe scegliere di bloccarlo.

Ora potrebbe non essere il caso, tuttavia se non stanno filtrando in base a qualcosa nel formato della richiesta, l'altra informazione su cui potrebbero fare una scelta basata sarebbe l'indirizzo IP sorgente.

    
risposta data 25.05.2017 - 21:34
fonte

Leggi altre domande sui tag