2014-07-14 13 views
1

有没有加密css/js文件的文件名的方法?我注意到,当我查看网站源代码时,css和js文件的文件名就像这样被加密。如何加密css/js文件名

<link href="/assets/css/builds/73e15c8a3cf6409214bbf8a742e9b5d41403226617.css" rel="stylesheet"> 

<script src="/assets/js/builds/217651bd25211390d62315e92b525f667014020626.js"></script> 

是否有脚本可以这样做?

在此先感谢!

+2

他们的部署系统最有可能的一部分是当他们的JS或CSS发生更改时解决缓存问题;哈希可能是其各自文件内容的'sha1()'。绝对**不**与安全有关。 –

+0

我明白了..你碰巧知道一个这样做的工具吗?这是否像Cloudflare? (好吧,cloudflare缩小了html/js/css ..不知道它是否也做到了这一点) – basagabi

+0

不能为其他开发者说话,但我自己写了一个这样的工具;它将多个脚本组合并缩小到一起,然后使用散列函数在文件名上传到CDN之前生成文件名。代码和样式的变化将近即时。 –

回答

1

这通常是一个部署步骤,旨在部分:

  1. 由单一的网页上的所有脚本/风格结合在一起,减少请求数。
  2. 缩小组合脚本/样式(可选,但推荐)
  3. 如果更改脚本/样式,请避免无意中的缓存命中。

它不以任何方式

一旦合并脚本添加安全/风格已建成,其内容通常使用MD5()或SHA1()和散列成为部分散列文件名称;它提供了一个唯一的文件名以及如果文件没有改变,防止缓存未命中。

我不知道为您执行此操作的通用工具;我为自己的目的写了一篇,但毕竟这不是火箭科学。

+0

这真的让我感兴趣:) – basagabi

1

嗯,你可以通过像MD5加密散列函数如果运行运行一个普通的文件名(这应该仍然是这样的事情确定,但已知道的弱点在数字签名中使用。)

“标准“如在”standard.css“通过MD5使用工具在http://www.fileformat.info/tool/hash.htm你得到c00f0c4675b91fb8b918e4079a0b1bac。我不确定这是什么买的,只是模糊了一个名字。

编辑回应杰克的评论,你并没有真正保护任何东西,只是遮住了一个名字,这可能会让你的事情变得更加困难,而不是让别人更难!

+0

通过散列函数运行文件名本身是愚蠢的;哈希应该应用于文件内容,*表示文件名。 –

+0

正确,如果想要做的是在文件内容更改时自动生成新的文件名。如果唯一的目标是模糊文件名,那么MD5或SHA-1就可以做到。正如你所说,这不会增加任何保护,只是混淆。 –