我看到了很多保护 css 文件的方法,但没有一个是 100% 安全的,或者换句话说,很容易操作块并获取 css 文件。我想知道保护CSS的最佳方法是什么。
1 回答
CSS 文件,如 javascript 和 HTML,可以被缩小。对于这三个,可以删除它们的空格以减小文件大小。对于 CSS 和 Javascript(以及 HTML 中的类和 id 名称),它们的标记可以被混淆(这意味着而不是像逻辑类名称那样.nav-link
选择无意义的类名称,如.bz0
)。这样做的问题是它非常难以维护,因为 CSS 中的 class 和 id 名称必须在相关的 HTML 和 Javascript 中相应地更改,以便混淆不会破坏任何东西。这通常会使混淆您的代码更麻烦,而不是好处(尽管,如果您有GMail查看其源代码会发现 Google 会这样做,尽管这可以说是为了节省空间)。
但是,如果您有兴趣查看这个 SO 线程:tools for obfuscating html and css
不过,底线——无论你是否使用混淆——浏览器必须能够解析你的 CSS,这意味着它需要访问文件本身。不管是否混淆,一个决心窃取你的 CSS 的人都可以这样做。虽然,我不明白这有什么好处,因为 CSS 通常是特定于域的(这意味着单个文件仅适用于一个网站或一小部分网站)。
我认为可以起到威慑作用的一个很好的接触是所有 CSS 文件顶部的礼貌注释。
/*
* #####
* #### _\_ ________
* ##=-[.].]| \ \
* #( _\ | |------|
* # __| | ||||||||
* \ _/ | ||||||||
* .--'--'-. | | ____ |
* / __ `|__|[o__o]|
* _(____nm_______ /____\____
*
* Hey you! Looks like you found our main css file through some l33t h4x0ry.
* You're welcome to give it a read-through if you'd like. But if you want to
* barrow something clever and use it in your projects we'd really appreciate a
* mention. Thanks!
*/
当然,您编写的代码是受版权保护的(我不是律师,所以不要强迫我这样做),因此您可以尝试发布版权声明:
/*
* (c) 2013 Your Company. All rights reserved.
*/
但我认为这将被忽略。更具对话性的信息可能会受到更多关注。
编辑: Jeff Atwood 也不是律师,但他的经验比我多得多,根据他关于开源许可证的博客文章:
没有许可证,代码默认受版权保护。人们可以阅读代码,但他们没有使用它的合法权利。要使用代码,您必须直接联系作者并征得许可。