2014-01-07 16 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

我認爲我同意馬特,如果我會提供原始和混淆,那麼我認爲開源的想法也保持不變。 –

相關問題