所以我需要写一堆网址,用以下方式开始网址是不好的做法:
$_SERVER['http_host']
所以我的网址看起来像这样:
echo"<a href='http://".$_SERVER['HTTP_HOST']."/".$category."/".$article."'>link</a>";
答案 0 :(得分:1)
它应该是大写的HTTP_HOST
。虽然这是客户端提供的值,但在大多数共享主机服务器上,此字段由Apache预过滤。因此使用这种方式是安全的(无论如何都应用htmlspecialchars
。)
但是您忘记了http://
协议前缀作为链接。
如果您需要一堆“网址”,将它打包成一个单独的函数是有意义的。通常,这也会将可选HTTP_PORT
处理为标准80
以外的任何内容。
答案 1 :(得分:1)
可怕的做法。它甚至不起作用。
HTTP_HOST
不是http_host
即使它确实如此,如果你只使用相对URI和插值,你最终会得到更容易阅读的代码:
echo "<a href='/$category/$article'>link</a>";