2012-02-14 32 views
0

比方说,我已经给包括我的网站标题下面一行:保存js文件作为PHP

<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

你的JS文件会在用户的电脑中,这样忘记是DRM样更好的去和数据输入准备一些好的服务器端验证。你可以混淆你的JS,如果你想保持自己的知识。 – Alfabravo 2012-02-14 19:31:38

+0

您需要了解**客户端**代码和**服务器端**代码之间的区别。 – SLaks 2012-02-14 19:31:39

+0

该文件会有一些我用ajax调用它的个人信息! – 2012-02-14 19:32:35

回答

5

你可以做的唯一的事情是让你很难阅读和理解你的JavaScript代码。

查看关于缩小和混淆的post on the YUI blog。缩小会使您的脚本更小,因此加载速度更快。

需要特别注意什么样的文章在其结束段落说:

于是最后,有一个代码隐私这个问题。这是一个失败的原因。没有任何转变可以让坚定的黑客了解你的计划。对于所有语言的所有程序来说都是如此,对于JavaScript来说更是如此,因为它是以源代码形式提供的。混淆提供的隐私利益是一种幻想。如果你不想让人看到你的程序,拔掉你的服务器。

+0

对于该报价+1,这确实是一个失败的原因,但人们会永远不停地问。 – 2012-02-14 19:44:05

3

不,你不能这样做。如果一个人的浏览器能够读取你的JS文件,该人员还必须能够读取你的JS文件。这就是互联网的工作原理。这是好的和理想的行为,你不应该试图阻止人们阅读组成你网站的CSS/JS/HTML。它是完全自我毁灭的,没有任何目的。没有人有兴趣窃取你的JS代码。

2

如果你不想让人们看到你的网页的内容(包括你的JS),不要把它放在网上

无论您如何向客户端提供服务,任何使用客户端调试器的人都可以获取脚本。

2

否JavaScript文件在Web浏览器中下载并执行。这意味着用户需要能够下载它。

您可以使用some kind of obfuscator对其进行混淆处理,这使人们难以阅读,但仍然保持客户端的功能。

3

Javascript以源代码的形式发布 - 如果您的用户无法查看它,则无法运行它 - 所以不,不是。

你可以做什么,如果你是偏执狂,在部署之前混淆和缩小(google“minify javascript”)来源。尽管如此(例如,铬在其调试工具中有一个非常漂亮的打印机),但这远远不是防弹的。