Url rewriting 在你的中伪造文件路径?

Url rewriting 在你的中伪造文件路径?,url-rewriting,Url Rewriting,我有一个小问题。 php有可能伪造路径吗? 例如,我有一个joomla网站。 任何人都知道Joomla是如何加载css/js或图片等资产的。 如果您查看joomla网站的html源代码,您将看到 我是否可以说/skin/js/而不是/templates/prostar/js/ 这不仅是Joomla的问题,而且这个答案适用于所有网站。 这在php中是可能的吗 提前感谢可以使用.htaccess重写URL,但是,不应该试图成功隐藏目录结构,而是正确授予或不授予对这些目录和文件的访问权。将这两个文件移

我有一个小问题。 php有可能伪造路径吗? 例如,我有一个joomla网站。 任何人都知道Joomla是如何加载css/js或图片等资产的。 如果您查看joomla网站的html源代码,您将看到

我是否可以说/skin/js/而不是/templates/prostar/js/

这不仅是Joomla的问题,而且这个答案适用于所有网站。 这在php中是可能的吗


提前感谢

可以使用.htaccess重写URL,但是,不应该试图成功隐藏目录结构,而是正确授予或不授予对这些目录和文件的访问权。

将这两个文件移动到另一个路径听起来并不难。 正如我在protostar template index.php中看到的,它们位于第39行和第42行

$doc->addScript'templates/。$this->template'/js/template.js'

$doc->addStyleSheet'templates/。$this->template./css/template.css'

您可以更改新文件夹的路径,例如资产:

$doc->addScript'assets/js/template.js'

$doc->addStyleSheet'assets/css/template.css'


您可以按照@emmanuel的建议去做,这对于模板脚本/css导入来说是非常好的,但是如果您计划对站点上导入的每一个已知脚本和css文件都这样做,那么您还必须开始编辑扩展,这只会导致一个又一个问题

简单解决方案:

下载一个缓存插件。它能够合并所有Javascript和CSS文件,并GZip它们。一旦所有内容都被gzip压缩,源代码中可见的位置和名称都将发生变化。然而,可能有一些脚本在被压缩时不能很好地发挥作用,但是这个插件还能够排除您定义的任何内容


希望这有助于

看看URL重写问题/答案,它可能会帮助您解决问题;但是,任何试图知道文件是如何加载资产的人都只会看到假路径。。。。但这又有什么关系呢?即使你使用了一个假的路径,任何知道他们在做什么的人都会知道你在使用Joomla为你的站点提供动力,并且也会知道Joomla文件的结构。因此,你真的觉得这样做有多大意义吗?我有一些非常奇怪的客户,他们不希望人们暴力或攻击他们的网站,因为这是joomla、drupal或wordpress。如果fakepath对我有效,我的客户也会满意,那么加载结构当然是相同的,但它可能需要1个以上的时间。lookJoomla 3.3使用Bcrypt加密,因此尝试暴力可能需要一辈子的时间。显示假路径不会阻止暴力攻击,也许值得让他们知道我知道它不会隐藏我的目录。仅在源中显示不同的路径
 <script src="/templates/protostar/js/template.js" type="text/javascript"></script>
  <link rel="stylesheet" href="/templates/protostar/css/template.css" type="text/css" />