php HTTP_HOST&的可靠性HTTP_REFERER用于关键任务

时间:2010-10-10 09:15:58

标签: php environment-variables http-referer http-host

我打算用PHP开发一个网站。但不确定我将要使用的方法是否是最好的方法。同一站点将有许多插件域。但内容将根据用于访问网站的域名进行过滤。

例如如果用户来自域siteusa.com,则会显示相应特定用户的内容。如果用户来自siteuk.com/sitechina.com,则内容将相应地进行归档等等......

我打算做这样的事情来检测网址并提供内容

 $ref = getenv("HTTP_REFERER");
    echo $ref; 

$host = $_SERVER['HTTP_HOST'];
echo $host ;

这是最好的方法吗?我可能遇到任何可能的瓶颈吗?这应该不会将域检测为关键域。

该网站的主域将提供未经过滤的内容,每个插件域将根据后端每个域的过滤器设置对其进行过滤。

有一个微笑的问题,但与codeigniter here有关。

1 个答案:

答案 0 :(得分:2)

HTTP_REFERER是一个糟糕的选择。当用户直接访问您的网站时,HTTP_REFERER将为空。

HTTP_HOST / SERVER_NAME应该可以解决这个问题,但它可能会在负载平衡软件或代理之后失败。

因此,这取决于您的服务器配置。如果您可以访问主机配置(例如,apache虚拟主机),则只需在每个VirtualHost中为每个域指定ENV变量。