2014-01-07 15 views
0

我正在学习jQuery,并且正在编写一个jQuery插件,并且很乐意在完成时与其他人分享(偏离那些想要的)。我最近了解到混淆会帮助我确保代码的安全并使其轻量化。但我也发现,经常使用混淆JS来插入恶意代码。由于我不打算在我的插件中有任何恶意代码,它是否会影响相信我的代码的人,至少在我混淆它时尝试? 我使用混淆的主要想法是不允许任何编辑代码,以便我的插件将继续按预期工作。而我相信迷惑会帮助我。我应该在与他人分享之前混淆我的插件吗?

感谢

+0

你应该有一个缩小版和非缩小版。我不会打扰'混淆'它(例如,添加随机垃圾,使其更难以阅读) – Sumurai8

+0

混淆不会以任何方式阻止人们对您的代码进行更改。这里有很多工具(例如http://jsbeautifier.org),以及内置于浏览器中的开发者工具,这些工具可以使混淆/缩小的代码更加可读。通常的做法是分发原始代码和混淆/缩小版本的代码。人们纯粹使用混淆代码来减少代码库下载的大小。 – Matt

+0

感谢sumurai8和马特我认为最好分发这两个版本。 –

回答

2

与jQuery插件普遍的共识是,释放两个版本。原始的未压缩代码,然后是另一个缩小版本。事实上,这是jQuery库的作者本身已经采用的方法,例如:

无压缩>http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js
精缩>http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js

你应该知道这两个词minified的区别和obfuscated,但一般:

Minification:

在计算机 编程语言特别是JavaScript中的缩小(也是最小化或最小化)是 从源代码中移除所有不必要的字符而不改变其功能的过程。这些不必要的字符通常包括空格字符,新行字符,注释以及有时会使用 分隔符,这些分隔符用于增加代码的可读性,但不是 ,它需要执行。

Obfuscation:

在软件开发中,混淆是创造 混淆代码,即源代码或机器代码,是很难 人类理解的故意行为。程序员可能为了防止篡改,阻止反向工程或作为阅读源代码的人的一项谜题或休闲挑战,可能会故意混淆代码至 以掩盖其目的(通过默默无闻的安全性)或其逻辑, 。

总之,minification != obfuscation。释放缩小版本的想法是减少文件大小,这通常可以通过缩小和混淆来实现。

+0

不同意小型化是最好的技术。 * other *文件(非原始文件)的要点是减小下载的文件大小。混淆是在缩小代码之后进一步缩小代码的文件大小的另一步骤。透明度是通过提供原始/原始文件来实现的。 – Matt

+0

我认为我同意马特,如果我会提供原始和混淆,那么我认为开源的想法也保持不变。 –

相关问题