让Apache服务器像PHP一样处理.js和.css文件安全吗?

让Apache服务器像PHP一样处理.js和.css文件安全吗?,php,javascript,css,apache,Php,Javascript,Css,Apache,根据我在这个问题中看到的答案: 我在想,这样做安全吗 假设我实现了这一点,并且请求了一个页面,该页面链接了几个JS和CSS文件。文本文件是简单发送的还是服务器首先解析的?现在没有服务器来测试它 此外,这是一种常见的工作方法吗?我认为在CSS和JavaScript方面,设置文件以便始终根据用户输入获得正确的实现可能非常困难。只要链接的.CSS和.js文件位于不同的服务器上,就应该是安全的。您告诉apache所要做的就是将.css和.js文件作为php处理,以处理它自己提供的文件。只要链接的.css

根据我在这个问题中看到的答案:

我在想,这样做安全吗

假设我实现了这一点,并且请求了一个页面,该页面链接了几个JS和CSS文件。文本文件是简单发送的还是服务器首先解析的?现在没有服务器来测试它


此外,这是一种常见的工作方法吗?我认为在CSS和JavaScript方面,设置文件以便始终根据用户输入获得正确的实现可能非常困难。

只要链接的.CSS和.js文件位于不同的服务器上,就应该是安全的。您告诉apache所要做的就是将.css和.js文件作为php处理,以处理它自己提供的文件。

只要链接的.css和.js文件位于不同的服务器上,就应该是安全的。您告诉apache要做的就是将.css和.js文件作为php来处理它自己提供的文件。

这并不常见,默认情况下,apache将.js和.css文件视为静态文件,这意味着它不做任何额外处理,只发送它们


您可以将apache配置为通过某种程序(如PHP)导入任何扩展名的文件,但这在图像、css和其他静态文件中并不常见。

这并不常见,默认情况下,apache将.js和.css文件视为静态文件,这意味着它不做任何额外处理,只发送它们


您可以将apache配置为通过某种程序(如PHP)导入任何扩展名的文件,但这在图像、css和其他静态文件中并不常见。

这不是不安全的,除非您允许用户上载css/js文件。

这不是不安全的,除非您允许用户上传css/js文件。

对于动态css和Javascript,您不必总是将它们放在.js或.css文件中。实际上,您可以做的是链接到生成它们的PHP脚本,以便PHP不会解析所有其他非动态的.js和.css文件。通常情况下,通过应用服务器/动态解析运行所有内容(尤其是媒体文件)是一个坏主意,除非.net、RoR、Django等绝对需要这样做

<link rel="stylesheet" type="text/css" href="mycss.css"/>
浏览器将其视为:

<link rel="stylesheet" type="text/css" href="mydynamiccss.php?param=somevalue" /> // this one would be dynamic on params, location or something else maybe colors etc.

您也可以使用动态js或css,并将其重写,使其具有正确的扩展名,但如果您不希望链接和脚本标记具有不正确的扩展名,它实际上也是一个动态的php文件。

对于动态css和Javascript,您不必总是在.js或.css文件中包含它们。实际上,您可以做的是链接到生成它们的PHP脚本,以便PHP不会解析所有其他非动态的.js和.css文件。通常情况下,通过应用服务器/动态解析运行所有内容(尤其是媒体文件)是一个坏主意,除非.net、RoR、Django等绝对需要这样做

<link rel="stylesheet" type="text/css" href="mycss.css"/>
浏览器将其视为:

<link rel="stylesheet" type="text/css" href="mydynamiccss.php?param=somevalue" /> // this one would be dynamic on params, location or something else maybe colors etc.

您也可以使用动态js或css并将其重写,使其具有正确的扩展名,但如果您不希望链接和脚本标记具有不正确的扩展名,那么它实际上也是一个动态的php文件。

这样做的一个大问题是,它将严重阻碍Apache引导缓存头的能力—它是将静态文件视为比php文件更容易缓存的文件


我绝对不会这样做。我可能还会问,为什么他们会大量自动生成javascript。作为一种定制javascript行为的方法,答案更为可行。

这样做的一个大问题是,它将严重阻碍Apache引导缓存头的能力——它将静态文件视为比php文件更容易缓存


我绝对不会这样做。我可能还会问,为什么他们会大量自动生成javascript。答案作为一种定制javascript行为的方法更为可行。

+1这是一个比在.js和.css文件中插入php代码更好的解决方案。如果您正在创建javascript或css w/php,请确保设置headerContent类型:application/javascript或headerContent类型:text/css。否则浏览器可能无法正确识别它。+1这是一个比在.js和.css文件中插入php代码更好的解决方案。如果您正在创建javascript或css w/php,请确保设置headerContent类型:application/javascript或headerContent类型:text/css。否则浏览器可能无法正确识别它。你是在问,嘿,我很懒&想要最简单的Apache配置。如果我通过PHP传递CSS,会发生什么不好的事情吗?或者你是想做一些更复杂的事情吗?你是想说嘿,我很懒&想要尽可能简单的Apache配置。如果我通过PHP传递CSS,会发生什么不好的事情吗?还是你想做更复杂的事情?+1。对于大多数文件来说,这可能不会是一个问题,但它可能会对您的一个js产生意外的后果
/css文件碰巧包含字符串“+1”。对于大多数文件来说,这可能不是一个问题,但如果js/css文件碰巧包含字符串的名称,则可能会产生意想不到的后果