2010-09-08 121 views

回答

4
RewriteEngine on 
RewriteCond %{HTTP_REFERER} !http://your-domain\.com/.* [NC] 
RewriteRule ^.*js$ - [F] 

这将返回403代码(禁止),当referer在您的域之外的所有JavaScript文件。

2

不可以。您可以混淆它或将JavaScript隐藏在另一个容器中(如内联在您的页面中),但不会阻止它们查看它。

如果你用你的htaccess文件阻塞它,那么浏览器将无法下载并使用它,这使得它没有意义的JavaScript文件。一旦由浏览器下载,它就位于本地机器的缓存中,因此一个有决心/有知识的人可以找到并检查它。如果你对它进行混淆,你会让用户很难理解它,所以也许这是最好的选择。

+0

混淆它会有多好......就像我不想让他们阅读Javasript文件一样......但是如果它全部被垃圾篡改了,那么ti会起作用。 – nn2 2010-09-08 21:44:53

+0

你为什么不希望他们能够阅读它?这个JavaScript文件执行什么功能,它需要隐藏? – Hellion 2010-09-08 21:51:00

+0

我的意思是,任何人都可以UNDO我obsufate我的代码? – nn2 2010-09-08 21:51:01

1

您可以使用http://dean.edwards.name/packer/
检查Base62 encodeShrink variables框以使JS代码难以阅读。

然后你有雅虎压缩机:http://developer.yahoo.com/yui/compressor/
而谷歌压缩机:http://code.google.com/closure/compiler/

第一个是上线,2层最后的需要你的机器上安装一些。

但是...由于浏览器需要了解它接收到的JavaScript,病人和决定的人员将能够对其进行逆向工程。但上面的压缩机会阻碍其中的许多。

+0

这是一个想法。一个PHP包括去一个PHP文件,并在那里将是一个JavaScript文件包含! – nn2 2010-09-08 22:06:51

+0

另外!我可以将代码压缩两次..一次压缩并将该代码转换为另一个! – nn2 2010-09-08 22:09:00

+0

@丹,然后我去我的浏览器并键入您的第一个PHP页面的网址,我得到的JS;)不要放松太多的时间。最后,源代码将作为JavaScript传递给浏览器,您必须忍受这一点。 – Mic 2010-09-09 06:30:15

1

这的确是一个毫无意义的工作。如果有人可以在您的网站上运行您的Javascript,他可以在任何他喜欢的地方运行它,并进行他想要的任何更改。这在Web的历史中并未证明是一个非常大的问题,所以我不会浪费太多时间。

如果真的有人担心有人会“偷”你的Javascript,版权是你最好的武器。如果某些算法是秘密的,请在服务器上进行处理并提供结果。

+0

哦,我该怎么做?我在服务器端处理中很有趣:) – nn2 2010-09-08 22:16:32

+0

@Dan:在您的网站上有一个脚本(PHP,Ruby,Java - 无关紧要),您的Javascript使用AJAX调用,提供算法输入并获取返回输出。 – Chuck 2010-09-08 22:22:19

+0

这听起来太复杂了(即使我知道Java和PHP)哈哈。 – nn2 2010-09-09 15:10:14

1

你不能真正保护你的JavaScript文件


在谷歌使用开发工具的Chrome

点击资源>您的网站>脚本> filename.js

它会出现在那里Crystal Clea河