我怎么能“隐身”?我的Javascript和CSS文件使用PHP


How can I "cloak" my Javascript and CSS files using PHP?

如果有人在浏览器中打开了我的。js或。css文件之一,是否有可能显示不同的内容?我将Apache配置为执行.js和.css文件中的PHP代码。如何侦测该文件是由网页请求或由用户直接浏览?

编辑:我知道没有办法100%隐藏我的文件。我正在寻找最好的方法来阻止人们复制我的代码。

web上的任何东西都不能真正地隐藏在浏览器中。浏览器只是一个请求文件的代理,与请求文件用于任何用途的任何代理一样。服务器不知道浏览器下载JS文件作为网页的一部分和用户下载JS文件查看它之间的区别。对于服务器来说,它们只是下载文件的请求。服务器不知道要对它做什么。

甚至,JS文件和CSS文件通常保存在磁盘缓存中(出于性能原因),在那里它们可以独立于服务器检索。

你唯一能做的就是用最小化和模糊化来模糊你的代码。缩小是有意义的,因为它也使事情更有效率。我个人不推荐混淆,因为它并不能真正阻止一个坚定的观众——它只会稍微减慢他们的速度。如果浏览器可以理解JS文件并运行它,那么黑客也可以。

一般来说,人们似乎认为他们的javascript是一个比实际更重要的秘密。如果您确实需要保护某种秘密算法,那么您最好的选择是将该代码保留在服务器上,并根据需要使用ajax调用从客户端javascript访问它。

您可以检查HTTP Referrer头是否由用户直接调用该文件。但是它不会阻止用户签入Firebug或等效工具来查看脚本的源代码。