关于jquery:服务器端保护机制,以防止任何人查看JavaScript源

serverside protection mechanism to prevent anyone viewing javascript source

我知道你可以使用javascript obfosculator来保护javascript源代码,但我需要一个更好的解决方案。

我正在研究加密要放在某些网站上的javascript文件的选项。此javascript文件的包含方式与普通一样:

1
<script src="http://secure.com/encryted.js">

这样做的目的是以某种方式阻止用户查看JavaScript的源代码,或者至少让用户更难查看。

我在想一种方法,只通过执行类似的操作返回javascript

1
<script src="http://secure.com/validate.php">

这样,我就可以在host secure.com上检查某些条件,并且仅在满足这些条件时返回javascript(encryped)。

有人有想法或做了这样的事吗?或者知道防止JavaScript源代码被公开的好方法,或者让它变得非常困难?

ETA似乎是加密的好方法

1
http://www.enetplanet.com/enc/

我的目标是让人们查看源代码/html不能"只查看"源代码有什么想法吗?


不,TEA(http://www.enetplanet.com/enc/)不是一种可以用于此类任务的工具。它只是比概念证明或玩具多一点。TEA(像其他任何加密系统一样)不能实际用于加密/保护发送到客户浏览器的javascript文件。

考虑一下:用户必须有一个加密程序的副本,才能解密来自服务器的javascript文件。在其他情况下,这本身并不是一个巨大的安全漏洞。任何加密系统都依赖于密钥的保密性,而不是加密程序/算法的保密性。

不幸的是,在谈到客户端JavaScript时,这是一个安全漏洞。加密程序(TEA)本身就是一个javascript文件。任何人都能读。修改它的方式很简单,只需打印出加密密钥,或者只需解密"受保护"的javascript文件而不进行任何检查。

此外,终端用户对网络通信信道的访问总量是无限的。他只需在电脑上安装网络嗅探器就可以读取密码(密钥)。没有密钥(也没有加密系统)可以抵御这种攻击(众所周知的"中间人"攻击)。

众所周知,没有任何真正的加密/保护JavaScript文件的方法。你能做的最好的就是把它弄混。

如果你真的需要保护某种客户端软件,你必须使用编译的软件(C/C++)、加密和某种硬件密钥。任何其他系统都很容易被"破解"(正如计算机游戏的整个历史可以证明的那样)。