假设我要将以下行包含在我的网站标题中:
<script type="text/javascript" language="javascript" src="file.js"></script>
现在,任何人都可以轻松访问my--web--site/file.js
并查看其来源。
所以,我想知道是否有任何想法我可以将file.js
重命名为file.php
并且仍然可以调用它并且工作正常,这样任何人都无法通过访问my--web--site/file.php
来查看它。
有什么想法吗?
答案 0 :(得分:5)
关于您唯一能做的就是难以阅读和理解您的JavaScript代码。
查看此post on the YUI blog有关缩小和混淆的信息。缩小将使您的脚本更小,从而加载速度更快。
特别注意文章在结尾段落中所说的内容:
最后,还有代码隐私问题。这是一个失败的原因。没有任何转变可以让坚定的黑客无法理解你的程序。事实证明,对于所有语言中的所有程序都是如此,使用JavaScript更明显是因为它以源代码形式提供。混淆提供的隐私权益是一种幻觉。如果您不希望别人看到您的程序,请拔掉您的服务器。
答案 1 :(得分:3)
不,你不能这样做。如果一个人的浏览器能够读取您的JS文件,那么该人也必须能够读取您的JS文件。这就是互联网的运作方式。这是好的和理想的行为,你不应该试图阻止人们阅读构成你网站的CSS / JS / HTML。这完全是弄巧成拙,没有任何目的。没有人有兴趣窃取您的JS代码。
答案 2 :(得分:3)
Javascript作为源分发 - 如果您的用户无法查看,则无法运行它 - 所以不,不是真的。
如果你是偏执狂,你可以做的是在部署之前混淆和缩小(google“minify javascript”)源。
这远非防弹(例如,chrome在其调试工具中有一个非常漂亮的漂亮打印机)。
答案 3 :(得分:2)
如果您不希望人们看到您网页的内容(包括您的JS),请勿将其放在互联网上!
任何在客户端上使用调试器的人都可以抓取您的脚本,无论您如何将其提供给客户端。
答案 4 :(得分:2)
没有。 JavaScript文件在Web浏览器上下载并执行。这意味着用户需要能够下载它。
您可以使用some kind of obfuscator对其进行模糊处理,使人们更难阅读,但让客户保持其功能。