困惑:javascript.js代码显示在Chrome中?

时间:2011-08-08 12:22:04

标签: javascript obfuscation

我的理解是,只有HTML页面中内嵌的javascript代码才会显示,而不是存储在.js文件中的代码

...我从未在客户端的.js文件中显示过任何浏览器代码...
直到我开始使用Chrome并注意到我的所有代码都可以查看???

  1. 我是否一直在说服自己代码在.js文件中是安全的,实际上它从来没有?

  2. 虽然在这个问题上,响应者可以完全清楚.js文件中的代码是否可以隐藏。 我看了很多帖子让我怀疑是否可以做到。

  3. 。有人说将它放在服务器上的.js文件中,以便在服务器上执行...
    ---使用'language = javascript'和带'runat服务器'的html行?不知道怎么做。
    ---但是,这不会破坏速度的目的,并且因为必须访问服务器而刷新吗? ---不妨在代码隐藏代码中编写代码(C#,VB,php,...)

    。有人说使用AJAX调用等......但似乎其他人反驳,说代码落在客户端无论如何都会显示出来? ...而且我假设这将是一个没有页面重绘的回调......

3 个答案:

答案 0 :(得分:4)

JavaScript在浏览器中执行,这意味着必须将脚本提交给客户端。因此,当然任何人都可以查看代码,无论是在开发人员工具中发生的代码,还是从html中获取直接链接,或者使用http嗅探器。

Altough,有一些方法可以让脚本对人类不可读。 一般来说,缩小脚本是一种很好的做法。它减小了文件大小,因此客户端必须下载更少,加快加载时间。毕竟,这并没有真正帮助您的脚本为用户“不可读”,网络上有很多解密服务。

不过,还有另一种方法:使你的脚本产生迷惑(或混淆)。这将替换代码使其无法读取。不幸的是,我没有使用这种技术的经验,所以我不知道它会如何影响js-code的性能。

也许你想看看这个:How can I obfuscate (protect) JavaScript?

答案 1 :(得分:0)

Javascript代码即使在.js文件中也可以看到,你可以做的唯一一件事就是让它变得难以理解是缩小js文件。

答案 2 :(得分:0)

实际上,存储在单独文件中的javascript代码不会直接显示;用户必须在地址栏中明确键入文件名以查看其内容。

如前所述,隐藏它的唯一方法是缩小文件,压缩文件并使其对人类不可读。