Php 有没有办法隐藏javascript代码?

Php 有没有办法隐藏javascript代码?,php,javascript,Php,Javascript,我的脚本以开头,以结尾 如果人们转到页面的源代码,实际上可以看到它 有没有办法避免这种情况?我的意思是让代码不可见,就像它在PHP中一样?不,使用普通JavaScript,它在客户端运行,这意味着运行它的用户浏览器必须可以访问它。您可以尝试混淆您的代码,或使用服务器端JS(V8)等较新技术,但对于传统JavaScript,它必须在客户端运行。编辑:现在,您添加了一条注释,说明您实际要保护的是视频的URL(为什么人们不直接说出他们在问题中真正想做什么?) 答案是,您无法保护在网页中播放的视频URL

我的脚本以
开头,以
结尾

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


有没有办法避免这种情况?我的意思是让代码不可见,就像它在PHP中一样?

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

编辑:现在,您添加了一条注释,说明您实际要保护的是视频的URL(为什么人们不直接说出他们在问题中真正想做什么?)

答案是,您无法保护在网页中播放的视频URL。这可以通过多种方式轻松查看。任何浏览器调试工具都将显示进出浏览器的所有网络流量,这将很容易泄露视频URL

如果你真正想做的是阻止视频的直接链接,那么有一些技术(没有一种是万无一失的)可以用来阻止最直接的链接。如果你在谷歌上搜索“阻止直接链接”,你会发现很多文章讨论这个概念。我看到的两种技术是:

  • 在提供视频的服务器上,检查http参考者,并仅将视频发送给您喜欢的参考者。虽然http参考者可能会被一个坚定的、经过训练的theif欺骗,但仅此简单的步骤就使得大多数用户无法进行最直接的链接
  • 在视频的URL中需要某种算法参数,然后才能成功地为您的服务器提供可供检查的服务。这可以从网站上的其他内容派生,并与数据参考相结合,也可以由您的网站每小时发布一次,并嵌入有效的托管网页中,等等

  • 任何想要查看网页的人都可以看到网页中的所有javascript

    真正隐藏算法的唯一方法是将其放在服务器上,在服务器上执行,然后在服务器呈现结果时将结果放在网页中,或者使用ajax调用检索结果

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

    你可以做一些事情让人们更难看到你的javascript,但这些都是唯一的障碍,它们会让人放慢速度,或者让他们花更多的时间来理解你的代码,但是任何有足够毅力的人都可以克服这些障碍

    你能做的最简单的事情就是通过一个免费流行的最小化工具(Google Close或Yahoo's minimizer,还有很多其他工具)来最小化你的代码。这些工具的主要目标是减少javascript代码的大小,但在此过程中,它们还通过删除缩进、换行、将本地符号重命名为简短而无意义的符号等方式,使代码的可读性大大降低

    还有一些模糊工具故意模糊javascript代码,使其更难查看/理解

    我再说一遍,所有这些工具最终都会被打败,它们对挫败一个坚定的窥探者所做的最多的事情就是减慢它们的速度

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


    仅供参考,在大多数情况下,保护您的实际代码从来没有人们认为的那么重要。商业成功不是通过保守秘密来实现的,而是通过广为人知并以适当的价格满足客户的需求来实现的。

    JavaScript是一种客户端脚本语言,因此不可能对客户端隐藏它。您可以可以混淆它,但一些聪明的人可以消除它


    如果您真的想隐藏代码,可以让javascript通过AJAX调用PHP脚本,尽管这可能会占用大量服务器。

    否。javascript由浏览器执行(而PHP由服务器执行)你能做的最好的事情就是混淆你的JS。你可以像谷歌一样混淆JS,这只会让它更难“阅读”。你为什么要这么做?你有高价值的代码吗?没有,但你可以转移你所有的“私人”(或其他)代码功能升级到服务器端php,然后使用Ajax(只是在客户端运行非“私有”的东西)。试试这个:希望这有帮助。我的猜测是,在大多数情况下,这是不可能的(比如,操作页面上的元素),或者不是真正的增值主张(技术或资源的混淆不是真正有价值的)。对于大多数想这样做的人来说,我猜这是这两个条件之一,他们甚至不应该麻烦。@JaredFarrish-我同意。这几乎不值得担心。更重要的是,要担心真正使您的业务成功的事情。尽管使用调试器可以很容易地找到视频链接,但有些网站付费视频内容使用了一些技术,比如要求经过身份验证的cookie来获取视频资源链接,然后从该链接播放,有些则使用了更复杂的方法,比如将整个视频分割成许多部分,然后从视频播放器内部发送许多请求/响应来获取视频内容。这样至少像视频下载器无法直接缓冲或下载视频资源。如果视频是业务的主要部分,那么禁止直接或未经授权的访问是一个值得关注的问题。谢谢你的回答@jfriend00!!!不管怎样,有效期如何?我正在使用Amazon S3并设置t