簡體   English   中英

是否可以隱藏或擾亂/混淆網頁的javascript代碼?

[英]Is it possible to hide or scramble/obfuscate the javascript code of a webpage?

我知道客戶端代碼必須是可以從瀏覽器讀取的,但我想知道(因為我忽略了太多的東西)如果有方法混淆代碼給最終用戶,如果不是什么是“打包”的最佳做法“javascript代碼。

使用YUI Compressor等工具縮小JS是一種很好的做法。 除非你有特殊需要,否則我不會混淆它。 有很多在線混淆器,比如這個

請參閱此文章: http//developer.yahoo.net/blog/archives/2007/07/high_performanc_8.html

看看這個

除了mining之外,我認為你不能真正隱藏js。 這一切都是用戶的瀏覽器,有很多方法可以在它的那里看到它。

在這里查看免費的Javascript Obfuscator。

鑒於它實際上是可能的,如果您打算混淆的原因是為了保護知識產權,那么您可能試圖以錯誤的方式從您的工作中獲取價值。 反轉混淆是相當容易的,你可能會浪費時間來維護你的代碼。

更多地關注您打算為訪問您網站的用戶提供的服務,以便將您的網站與競爭對手區分開來

可以使用以下工具:

  • YUI壓縮器 - 需要Java - 非常好的壓縮器

  • Packer - 創建最混亂,最小的代碼,但腳本的運行速度不如YUI - 這可以在線使用。 選擇“Base62編碼”以獲得最大效果。

  • Dojo Compressor我從來沒有使用過這個,但它位於首位。 它還需要Java。

  • JSMIN道格拉斯克羅克福德,這個有一個非常簡單的算法,但它仍然是好的。 可以與JSLint結合使用。

有些工具可用於壓縮javascript代碼並使最終用戶難以理解。

有沒有理由為什么這對你不起作用?

http://www.javascriptobfuscator.com/

不要在JavaScript中添加任何敏感或個人信息。

花時間保證服務器上的數據安全。

第1步:不要。

您必須做很多事情才能實現任何有意義的混淆程度。 單獨模糊名稱是不夠的,因為所有標准函數仍然存在(盡管它們可能隱藏在一層較短/混淆的別名中),並且一旦代碼格式化得很好就可以很容易地得出特定函數的用途。再次。 任何真正想知道你的JS代碼能做什么的人,無論你在瀏覽器獲得它的副本之前做了什么都會這樣做。

如果您在JavaScript中真正擁有有價值的業務流程,那么您就是在做錯了(tm)。

沒有任何混淆會使您的代碼真正安全,它可能只會給您一種虛假的安全錯覺(參見安全隱患 )。

如果您確實需要保密代碼的某些部分,請考慮將敏感部分拉入服務器端腳本並對腳本進行(比方說)AJAX調用。 特別是隨着JSON的出現,與服務器端腳本的通信變得前所未有的簡單。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM