Quando richiamo uno script CGI (richiesta GET) utilizzando Chrome o Firefox, ho notato nel log di accesso di Apache che pochi secondi dopo veniva generata una richiesta HEAD e una richiesta GET con lo stesso URI. Per essere sicuro che non fosse una peculiarità della mia configurazione di Apache, ho scritto un semplice script Perl e l'ho installato sul sito web del mio ISP. Questo script fa semplicemente di essa la propria registrazione in un file su disco ogni volta che viene invocato il tempo, l'URI, l'agente utente, l'indirizzo remoto e la porta:Richieste GET duplicate generate diversi secondi dopo in Chrome e Firefox da un agente utente sconosciuto quando viene richiamato uno script CGI
#!/usr/bin/perl -wT
use strict;
use CGI;
my $cgi = new CGI;
print $cgi->header(-type=>'text/plain', -expires=>'-1d');
print "hello";
open (LOG, ">>printenv2.txt");
my ($sec, $min, $hr, $day, $mon, $year) = localtime;
my $timestamp = sprintf("%02d/%02d/%04d %02d:%02d:%02d", $mon + 1, $day, 1900 + $year, $hr, $min, $sec);
print LOG $timestamp, "\n";
my @keys = qw(REQUEST_METHOD REQUEST_URI HTTP_USER_AGENT REMOTE_ADDR REMOTE_PORT);
foreach (@keys) {
print LOG "$_ = $ENV{$_}\n";
}
print LOG "\n";
close LOG;
ho invocato lo script una volta con http://localhost/friends/forms/cgi/printenv2.cgi?arg=1
Lo script è stato eseguito tre volte, tuttavia, le ultime due esecuzioni si sono verificate oltre 14 secondi dopo l'invocazione iniziale. Ecco l'output del registro:
09/11/2015 19:25:26
REQUEST_METHOD = GET
REQUEST_URI = /friends/forms/cgi/printenv2.cgi?arg=1
HTTP_USER_AGENT = Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.85 Safari/537.36
REMOTE_ADDR = 127.0.0.1
REMOTE_PORT = 58421
09/11/2015 19:25:40
REQUEST_METHOD = HEAD
REQUEST_URI = /friends/forms/cgi/printenv2.cgi?arg=1
HTTP_USER_AGENT = Mozilla/5.0 (X11; Linux x86_64; rv:10.0) Gecko/20150101 Firefox/20.0 (Chrome)
REMOTE_ADDR = 127.0.0.1
REMOTE_PORT = 58428
09/11/2015 19:25:41
REQUEST_METHOD = GET
REQUEST_URI = /friends/forms/cgi/printenv2.cgi?arg=1
HTTP_USER_AGENT = Mozilla/5.0 (X11; Linux x86_64; rv:10.0) Gecko/20150101 Firefox/20.0 (Chrome)
REMOTE_ADDR = 127.0.0.1
REMOTE_PORT = 58440
Come si può vedere l'agente utente associato con le due invocazioni spurie è diverso. Ho gestito SpyHunter per vedere se avessi un virus. Ho provato a disabilitare tutte le estensioni. Ho provato a disinstallare e reinstallare Chrome. Niente aiuta Questo si verifica solo con Chrome e Firefox: il problema non appare con Internet Explorer.
AIUTO!
Grazie! Mi hai indirettamente aiutato. Il mio sito veniva martellato con queste richieste duplicate. Vedendo che la stringa UA è praticamente impossibile da trovare in natura (Firefox * e * Chrome?) L'ho appena bandita a livello di server e ora tutto sembra andare bene :) –
Recentemente ho aiutato qualcuno a risolvere i blocchi ripetuti di Apache ModSecurity - RealPlayer inviava le richieste HEAD e GET a una pagina di accesso di WordPress. Sembrava essere collegato alle richieste web di Google Chrome. Lo hanno disinstallato e le richieste extra sono state interrotte. Questo ha risolto il problema! –
Appena accaduto, era tempo reale –