使用$ _SERVER parms写入URL

时间:2011-06-07 23:02:31

标签: php html

所以我需要写一堆网址,用以下方式开始网址是不好的做法:

$_SERVER['http_host']

所以我的网址看起来像这样:

echo"<a href='http://".$_SERVER['HTTP_HOST']."/".$category."/".$article."'>link</a>";

2 个答案:

答案 0 :(得分:1)

它应该是大写的HTTP_HOST。虽然这是客户端提供的值,但在大多数共享主机服务器上,此字段由Apache预过滤。因此使用这种方式是安全的(无论如何都应用htmlspecialchars。)

但是您忘记了http://协议前缀作为链接。

如果您需要一堆“网址”,将它打包成一个单独的函数是有意义的。通常,这也会将可选HTTP_PORT处理为标准80以外的任何内容。

答案 1 :(得分:1)

可怕的做法。它甚至不起作用。

  1. HTTP_HOST不是http_host
  2. 您缺少协议
  3. 即使它确实如此,如果你只使用相对URI和插值,你最终会得到更容易阅读的代码:

    echo "<a href='/$category/$article'>link</a>";