当出现错误(如 400,404,403 等)时,我使用 php 脚本向我发送电子邮件并告知正在尝试的内容。
我注意到一个 400 错误,'from' 和 'to' 不包含我的域名,而是另一个域名。这是我使用的一些代码..
PHP代码:
$http_host = $_SERVER["HTTP_HOST"];
$http_host = str_replace("www.", "", $http_host);
$from = "From: webmaster@" . $http_host . "\r\n";
$to = "From: webmaster@" . $http_host . "\r\n";
var $http_host 在那里有另一个域名。幸运的是,电子邮件被退回,所以我意识到了这个问题。这是网络访问日志条目
94.102.51.246 - - [23/Feb/2013:16:17:49 +1100] "GET http://24x7-allrequestsallowed.com/?...RWJWS_FA%40FQN HTTP/1.1" 400 2815 "-" "Mozilla/5.0 (Windows NT 6.1; rv:16.0) Gecko/20100101 Firefox/16.0"
它似乎$_SERVER["HTTP_HOST"]
被评估为“24x7-allrequestsallowed.com”
我很困惑这是如何将其解析为 URL 的,但更令人不安的是 $_SERVER["HTTP_HOST"] 没有设置为“正确的”域名。