首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >是否未正确评估'HTTP_HOST‘?

问是否未正确评估'HTTP_HOST‘?
EN

Stack Overflow用户
提问于 2013-02-26 20:10:10
回答 1查看 1.1K关注 0票数 0

当出现错误(如400、404、403等)时,我会使用php脚本给我发电子邮件,并告知正在尝试什么。

我注意到在400错误中,“from”和“to”没有包含我的域名,而是另一个域名。这是我使用的一些代码..

PHP代码:

代码语言:javascript
复制
$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访问日志条目

代码语言:javascript
复制
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“没有被设置为”正确的“域名。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-02-26 20:15:00

更改:

代码语言:javascript
复制
 $http_host = $_SERVER["HTTP_HOST"]; 
 $http_host = str_replace("www.", "", $http_host); 

...to...

代码语言:javascript
复制
 $http_host = $_SERVER["SERVER_NAME"]; 
 $http_host = str_replace("www.", "", $http_host); 

来源:http://php.net/manual/en/reserved.variables.server.php

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15088809

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档