我正在编写一个基于HTML5的游戏,它作为一个独立的应用程序运行。它通过网络分发,但没有其他服务器要求 - 没有数据库等 - 一切都是“应用程序内”。这是设计使然,因为额外的服务器会增加分发成本。
所以鉴于它只是一个带有大量JavaScript的静态html文件,有什么能阻止某人在自己的网站上托管该文件? 是否有任何技术可用于帮助缓解这种情况?
我关注的不是奇怪的用户,而是其他网站所犯的身份盗用。 非附加服务器解决方案将是首选,但任何想法将不胜感激。
答案 0 :(得分:11)
如果一切都在客户端运行,那么你可以做很多事情。您可以尝试混淆JavaScript,但这不是一个非常有效的解决方案。您需要做的是以吸引人的方式将其绑定到后端,例如
通过提供卓越的体验,让他们有理由回到你身边。
最后积极寻求并保护您的知识产权。如果您发现某个网站正在扯下您,请尽一切力量将其关闭。
答案 1 :(得分:5)
首先,当您分发应用程序的源代码时,任何具有一点技术知识的人都应该能够理解它的工作原理。
但是你可以更加努力 - 通常使用Obfuscation (因此有意义的变量名称,例如'hero_score'
被非有意义的变量名称替换,例如'a45'
)
对于Javascript代码,请查看YUI Compressor
答案 2 :(得分:3)
确保您的代码具有明确的版权。你不能仅凭技术理由赢得这场战斗。
如Pascal所说,模糊和压缩代码是最好的技术解决方案。
考虑链接到服务器以进行登录等。像Google AppEngine这样的东西使得运行可扩展服务器变得非常简单和便宜。
答案 3 :(得分:1)
我建议添加一个javascript函数来测试它的播放位置,然后保护你的代码,在网络上你可以找到很多关于混淆/加密javascript的信息。
编辑:在这种情况下我会做什么,并且知道窃取/重新编辑javascript甚至是混淆,可以完成:
我会有一个服务器端页面来保存文件,一些核心变量将通过服务器端写入。
困难的部分是以一种不能仅在javascript中完成的方式编程(没有服务器端)。
然后,也许某些项目也可以通过服务器端构建/放置,这样海盗就很难重新制作一切。
此外,域检查的脚本可以通过服务器端完成。
答案 4 :(得分:0)
我发现这个Javascript Obfuscator是你得到的最好的保护,它使你的代码完全不可读,它应该缩小它,我已经完成了JSPERF,它似乎运行得更快。
关于 - 免费Javascript Obfuscator是一个混淆javascript的专业工具。它将JavaScript源代码转换为乱码且完全不可读的形式,防止其被分析和盗窃。
输出代码如下所示。
var _0xe305=["\x48\x65\x6C\x6C\x6F\x20\x57\x6F\x72\x6C\x64\x21","\x0A","\x4F\x4B"
];var a=_0xe305[0];function MsgBox(_0xc87ax3){alert(_0xc87ax3+_0xe305[1]+a);}
;MsgBox(_0xe305[2]);
请确保保留原件的副本:)