当出现错误(如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在那里有另一个域名。幸运的是,电子邮件退回了,所以我意识到了这个问题。这是web访问日志条目
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-allrequestsallowe.com’
我很困惑这是如何被解析成一个网址的,但更让我不安的是,$_SERVER"HTTP_HOST“没有被设置为”正确的“域名。
发布于 2013-02-26 20:15:00
更改:
$http_host = $_SERVER["HTTP_HOST"];
$http_host = str_replace("www.", "", $http_host); ...to...
$http_host = $_SERVER["SERVER_NAME"];
$http_host = str_replace("www.", "", $http_host); https://stackoverflow.com/questions/15088809
复制相似问题