有没有办法隐藏JavaScript代码?

Ros*_*nda 0 javascript php

我有这个脚本,开头<script>和完成</script>

如果他们转到页面的源代码,人们实际上可以看到它.

有没有办法避免这种情况?我的意思是让那些代码看起来不像PHP那样?

maj*_*nie 6

不,使用普通的JavaScript,它在客户端运行,这意味着运行它的用户的浏览器必须可以访问它.您可以尝试模糊代码,或者更新的技术,如服务器端JS(V8)但是对于传统的JavaScript,它必须在客户端运行.

  • @RosamundaRosamunda - 您通过Firebug或Chrome中的控制台实现了我可以看到您的视频网址,如果浏览器可以播放它,对吗? (5认同)

jfr*_*d00 5

编辑:现在您已经添加了一条评论,说明您实际要保护的是视频的网址(为什么人们只是说出他们在他们的问题中真正想要做的事情?).

答案是您无法保护您在网页中播放的视频网址.很容易看到很多方面.任何浏览器调试工具都将显示进出浏览器的所有网络流量,这些流量很容易泄露视频URL.

如果您真正想要做的是阻止视频的直接链接,那么您可以使用一些技术(这些技术都不是万无一失的)来阻止大多数直接链接.如果你在谷歌搜索"阻止直接链接",你会发现很多讨论这个概念的文章.我见过的两种技术是:

  1. 在服务于视频的服务器上,检查http referrer并仅将视频服务器提供给您喜欢的引荐者.虽然http引用者可能被一个坚定的和受过教育的人所欺骗,但只有这个简单的步骤才能使大多数用户的大多数直接链接变得不切实际.
  2. 在视频的URL中需要某种算法参数才能成功验证服务器可以检查的内容.这可以从网站上的其他内容中获得,并与数据引用相结合,也可以由您的网站每小时发布一次,并嵌入到有效的托管网页等中......

您想要查看网页的任何人都可以看到您网页中的所有JavaScript.

真正隐藏算法的唯一方法是将其放在服务器上,在服务器上执行它,并将结果放在网页中,因为它是由服务器呈现的,或者使用ajax调用来检索它.

由于Javascript在浏览器中的工作方式,浏览器必须可以使用该代码才能运行它.如果它可供浏览器使用,那么任何想要查看它的人都可以使用它.

你可以采取一些措施让人们更难以看到你的javascript,但这些只是阻碍某人放松或让他们花更多时间去理解你的代码的障碍,但是所有人都可以克服这些障碍.足够坚持这样做.

您可以做的最简单的事情是通过一个免费的流行最小化工具(谷歌闭包或雅虎的最小化工具,还有许多其他工具)运行它来最小化您的代码.这些工具的主要目标是减少你的javascript代码的大小,但在这个过程中,它们也会通过删除缩进,换行符,将本地符号重命名为简短和无意义等等来降低可读性.

还有一些遮蔽工具故意模糊您的JavaScript代码,使其更难以查看/理解.

我重复一遍.所有这些工具最终都会被打败,而他们为阻止坚定的窥探而做的最多的工作就是放慢速度.

如果你真的想要保护算法或商业秘密或秘密代码或类似的东西,你必须将算法放在服务器上,并让代码只在服务器上执行,这样浏览器只能看到结果,而不是实际码.

仅供参考,在大多数情况下,保护您的实际代码并不像人们想象的那么重要.保持秘密并不是通过了解并以适当的价格满足客户的需求来实现商业成功.