调用 CGI 脚本时,未知用户代理在 Chrome 和 Firefox 中几秒钟后生成重复的 GET 请求

Duplicate GET requests being generated several seconds later in Chrome and Firefox by unknown user agent when a CGI script is invoked

当我使用 Chrome 或 Firefox 调用 CGI 脚本(GET 请求)时,我注意到在 Apache 访问日志中,几秒钟后,一个 HEAD 请求和一个具有相同 URI 的 GET 请求是正在生成。为了确保这不是我的 Apache 设置的特殊性,我编写了一个简单的 Perl 脚本并将其安装在我的 ISP 网站上。每次调用时,该脚本都会将自己的日志记录到磁盘文件中,包括时间、URI、用户代理、远程地址和端口:

#!/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;

我用 http://localhost/friends/forms/cgi/printenv2.cgi?arg=1

调用了一次脚本

该脚本 运行 三次,但是,最后两次 运行 发生在我初次调用后超过 14 秒。这是日志的输出:

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

如您所见,与这两个虚假调用相关联的用户代理是不同的。我 运行 SpyHunter 看看我有没有病毒。我尝试禁用所有扩展。我尝试卸载并重新安装 Chrome。没有任何帮助。这只发生在 Chrome 和 Firefox - Internet Explorer 不会出现这个问题。

求助!

我曾尝试搜索完整的用户代理字符串,但一无所获。但我现在决定再试一次,只是在 "Gecko/20150101" 上搜索并在以下位置找到了一篇文章:https://www.quppa.net/blog/2015/07/26/realplayerrealdownloader-poses-as-firefox-running-on-64-bit-linux-and-sends-head-and-get-requests/

我已经安装了最新版本的 RealPlayer(现在称为 RealTimes),它还安装了一个视频下载器。这 不是 作为扩展安装在 Chrome 和 Firefox 中,而是作为单独的进程运行。我禁用了这个 "addon",现在虚假的 HEAD 和 GET 请求似乎已经消失了。他们到底在想什么?