JavaScript中的安全/保护代码

Blu*_*ver 11 javascript flash obfuscation html5

随着最近关于JavaScript和HTML5取代Flash的大肆宣传,我想知道 - 如何保护客户端js代码?当然,它可能会混淆它,但这只会让它变得更难.此外,对于向服务器提交高分的游戏,在将这些分数发送到服务器之前修改这些分数是不是非常容易?我知道甚至Flash文件都可以被反编译,但它们可以被混淆,并且flash反编译并不像在JS中修改数据那么容易 - 可以使用像Firebug这样的插件轻松完成.我想知道大家对此的看法.

Thi*_*ter 8

在客户端上解析的Javascript永远不会100%安全.将有总是有办法找出它做什么.几天前我甚至看过一个解压缩包装的工具,所以你唯一可以做的就是使用"丑陋"的变量名称(或者实际上,让一个javascript包装器将你的"好"变量名称转换为短/丑/胡说八道)

为了保护游戏结果,您必须将一些游戏逻辑移动到服务器,以便客户端无法发送任意结果.

总结一下:不要把秘密放在javascript代码中,也不要相信来自客户端的任何东西 - 无论是来自表单还是通过javascript生成/提交.

  • 这些网站很可能会使用闪存或为服务器端添加健全性检查.例如(当然,取决于游戏)你可以确保游戏开始和结束之间有足够的时间.显然,只有合理的分数才能被接受 - 即拒绝不自然的高分.除此之外:想要在这样的网站上作弊以获得更多金钱/奖励的人会嗤之以鼻.如果当前没有进行健全性检查可能会更容易,因为开发人员依赖来自闪存的数据是值得信任的,而不是更易读的代码,其响应不仅仅被认为是有效的. (2认同)