我已经阅读了使用PHP的预处理器允许动态HTML样式表的技术,但是我想知道这个tecnique是多么安全,如果出于任何原因不鼓励它。
例如,而不是使用典型的:
<link rel="stylesheet" type="text/css" href="http:mysite.com/style.css/>
我可以使用:
<link rel="stylesheet" type="text/css" href="http:mysite.com/style.php/>
您怎么看?
答案 0 :(得分:5)
完全没问题。
我建议在PHP中设置以下标题:
标题(“Content-Type:text / css”);
答案 1 :(得分:3)
如果您可以使用.htaccess文件,可以将其设置为使用以下方法将* .css文件解析为PHP:
AddHandler application/x-httpd-php .css
然后,您可以直接在* .css文件中使用PHP。
请务必同时将其他人提及的header
类型设置为text/css
:
header('Content-type: text/css');
答案 2 :(得分:2)
它与您在style.php中的代码一样安全。
答案 3 :(得分:1)
是的,您可以使用PHP生成样式表。确保通过发送指定媒体类型和字符编码的适当Content-Type值将输出正确地声明为CSS。
但请注意,每次请求生成样式表都需要额外的时间和资源。因此,您应该添加某种缓存机制(静态文件和HTTP caching)以减少服务器负载甚至不必要的请求。
答案 4 :(得分:1)
正如其他人所提到的,PHP可用于输出任何类型的文本。因此输出动态CSS(甚至动态JavaScript)不是问题。请注意,通过执行此操作会增加服务器负载。服务器必须启动PHP引擎才能提供原本简单的静态.css文件。
答案 5 :(得分:0)
你可以用PHP(以及其他东西)渲染任何类型的文本输出,包括CSS,只需确保给出正确的标题header('Content-Type: text/css; charset=iso-8859-1');
(或任何其他字符集)。
但说实话,我想不出情况是否有必要以这种方式使用动态样式表。