安全 Javascript 代码

Secure Javascript code

我有几个 .js 文件包含我的网络应用程序的一些逻辑,包括 AJAX 请求。

我知道这些文件是 "Client-Side" 并且发送到客户端的所有内容都是可读的,但是,不包括缩小 .js 文件的实践(...那不是 "protection system",但 'space-saver and obfuscator' 方法)我正在努力寻找解决方案,例如,我有一个 ajax 请求向网络服务发送带有某些键的字典和某些值,我想保护这些请求,以使其更安全并减少 "comprehensible" 攻击者。

有人知道吗?

谢谢。

混淆:

尝试YUI Compressor。这是一个非常受欢迎的工具,由 Yahoo UI 团队构建、增强和维护。

您还可以使用:

私有字符串数据:

将字符串值保密是一个不同的问题,混淆实际上不会有太大好处。当然,通过将您的源代码打包成乱码、缩小的混乱,您可以通过 obscurity 获得 security 的轻量级版本。大多数时候,查看源代码的是您的用户,客户端上的字符串值供他们使用,因此通常不需要那种私有字符串值。

如果您真的有一个您不想让用户看到的值,您将有几个选择。首先,您可以进行某种加密,在页面加载时解密。这可能是最安全的选择之一,但也可能有很多不必要的工作。您可能可以对一些字符串值进行 base64 编码,这样会更容易。但是真正想要这些字符串值的人可以轻松解码它们。加密是真正防止任何人访问您的数据的唯一方法,大多数人发现加密比他们需要的更安全。

旁注:

Javascript 中的混淆会导致一些错误。混淆器在这方面做得越来越好,但许多机构认为他们从 minifyinggzipping 中看到了足够的好处,以及混淆的额外节省并不总是值得麻烦。如果您正在尝试保护您的源代码,也许您会认为值得花时间,只是为了让您的代码更难阅读。 JSMin 是一个不错的选择。