从站点下载后阻止运行js代码

时间:2014-05-11 08:19:16

标签: javascript html security web

如何在下载页面源后阻止用户运行我的网页? 我们无法阻止下载源代码,但可以加密它。 但它对我来说还不够好,因为加密后的代码可以在下载后使用。

提前感谢。

1 个答案:

答案 0 :(得分:1)

作为一般规则,如果代码在远程计算机上运行,​​则可以对其进行操作,以便他们无论如何都可以执行它。

你可以通过代码混淆或实施某种DRM来解决这个问题,但我建议这会比它更值得麻烦(因为它只需要一个人来打破它和你的代码退出了。)

1)例如,您可以要求在您执行之前从您控制的网站下载某些密钥,但收件人可能只是嗅探他们的流量并将该值传递给游戏本身。

2)或者你可以设置你的游戏来将每个级别或它的一些重要方面流式传输到你的游戏客户端,但同样,并不是因为只是阅读这些方面和自己实施这个机制。

3)也许你可以使用基于时间的密钥在服务器上动态加密这些级别的包,但是只需要一个有技术诀窍的无聊程序员来反向设计你的方法。

4)想到的另一个选择是要求对您控制的服务器进行定期轮询并要求某种响应,但同样,如果您的客户端可以预测此响应应该是什么样的,那么它就是这样的。有人可以轻松地重写游戏,与自己的程序而不是服务器进行对话。

5)您还可以菊花链式连接您的javascript逻辑的大量依赖项(将您自己的代码分解为多个依赖项),这样另一个用户在其系统上重建所需的路径会稍微困难一些。这对于推迟一个随意的用户可能是有用的,但我怀疑它会推迟一个知识渊博的用户。

总而言之,我建议您只是让游戏按原样使用。各种比你大的游戏公司试图用自己的灾难性结果(当他们不像宣传的那样工作时)实施他们自己的DRM措施,或者只是为最终用户而烦恼。