服务器端保护机制,以防止任何人查看 javascript 源 [关闭]
Posted
技术标签:
【中文标题】服务器端保护机制,以防止任何人查看 javascript 源 [关闭]【英文标题】:serverside protection mechanism to prevent anyone viewing javascript source [closed] 【发布时间】:2012-11-12 16:49:57 【问题描述】:我知道您可以使用 javascript obfosculator 来保护 javascript 源代码,但除此之外我还需要一个更好的解决方案。
我正在研究加密要放置在某些网站上的 javascript 文件的选项。这个 javascript 文件像往常一样包含在:
<script src="http://secure.com/encryted.js"></script>
这个想法是为了以某种方式阻止用户查看 javascript 的源代码,或者至少让这样做变得更加困难......
我正在考虑一种仅通过执行类似操作来返回 javascript 的方法
<script src="http://secure.com/validate.php"></script>
这样我可以在主机secure.com上检查某些条件,如果满足这些条件,只返回javascript(加密)。
有没有人有想法或做过这样的事情?或者知道防止 javascript 源代码暴露或使其变得非常困难的好方法?
ETA 似乎是加密它的好方法
http://www.enetplanet.com/enc/
我的目标是让人们查看源代码 /html 不能“仅查看”源代码 有什么想法吗?
【问题讨论】:
这听起来可能很粗鲁(不是我的本意),但你用过谷歌吗? answers 您唯一可以期待的只是一堆在线 JS 丑陋者 的链接(如果这是您正在寻找的术语;) 根本不可能。浏览器必须能够读取 JS(以及 HTML、CSS 等等)。浏览器正在用户的计算机上运行,如果用户提出要求,会愉快地将源代码呈现给用户。 不想让别人看到你的代码?然后专门使用服务器端代码。调用执行脚本工作的服务器端服务,然后使用 echo 或 response.write 之类的东西返回 html。 这个问题已经被问过无数次了。底线是,你不能隐藏你的客户端 javascript。 这个问题表明完全缺乏研究工作 【参考方案1】:不,TEA (http://www.enetplanet.com/enc/) 不是您可以用于此类任务的工具。它只是一个概念验证或玩具而已。 TEA(与任何其他加密系统一样)实际上不能用于加密/保护您发送到客户浏览器的 javascript 文件。
考虑一下:用户必须拥有加密程序的副本才能解密来自您服务器的 javascript 文件。在其他情况下,这本身并不是一个很大的安全漏洞。任何加密系统都依赖于密钥的保密性,而不是加密程序/算法的保密性。
不幸的是,当谈到客户端javascript时,这是一个安全漏洞。加密程序 (TEA) 本身就是一个 javascript 文件。任何人都可以阅读它。以仅打印出加密密钥或仅解密“受保护” javascript文件而不进行任何检查的方式对其进行修改是微不足道的。
此外,最终用户可以完全、无限制地访问网络通信渠道。他可以使用安装在其 PC 上的网络嗅探器读取密码(密钥)。没有密钥(也没有加密系统)可以抵抗这种攻击(众所周知的“中间人”攻击)。
众所周知,没有任何真正的方法可以加密/保护 javascript 文件。你能做的最好的就是混淆它。
如果你真的需要保护某种客户端软件,你必须使用编译软件(C/C++),加密和某种硬件密钥。任何其他系统都很容易被“破解”(计算机游戏的整个历史都可以证明这一点)。
【讨论】:
以上是关于服务器端保护机制,以防止任何人查看 javascript 源 [关闭]的主要内容,如果未能解决你的问题,请参考以下文章