Uma*_*bal 2 javascript security parse-platform
我担心javascript安全性,因为客户端可以查看和编辑代码,我知道要克服这一点,我们可以使用ajax调用来在服务器上运行关键进程.但最近我正在通过解析云代码,它的一部分在服务器上运行.我想知道这是否是javascript安全问题的答案,是否安全?
小智 5
Parse.com服务器端Javascript安全吗?
服务器端Javascript 相对安全.对于Parse.com(我不太熟悉他们的系统),它似乎接受客户端数据.客户端数据始终不安全.话虽这么说,你可以做它的安全通过分析它(双关语不打算),以确保任何潜在危险的运行它之前被剥离出来.
那么,这个系统的安全性取决于你编写代码的程度.
服务器端Javascript安全吗?
与上述相关,服务器端Javascript可以是安全的,前提是它是以安全的方式编写的.IE,只传递数据,任何需要安全的数据都保留在服务器上,并且只能由服务器更新.
例如,如果您要更新游戏分数(取自某些parse.com示例)而不是向服务器发送要更新的分数,请向其发送触发分数更新的操作,并让服务器解决操作并添加到分数.这很安全.发送得分本身不是,因为得分可以由客户操纵.
Parse.com客户端Javascript安全吗?
绝对不.客户端是在敌人的手中-你可以永远永远相信客户端不操纵他们的数据和/或它生成的代码.
开发人员有责任确保您的数据仅由系统处理和处理,而系统无论如何都不会被客户端操纵.
那么,parse.com安全吗?
回应我已经说过的一切,parse.com和你做的一样安全.这完全取决于您设计应用程序的程度.
服务器端Javascript是安全问题的答案吗?
服务器端的任何东西本质上都比客户端更安全.是针对所有安全问题的一站式解决方案吗?号仍有许多危险的坏的编码(IE:SQL注入),甚至开放的端口(IE:通过Web服务器将电子邮件转发).因此,这种方法有两个方面,即保护服务器和保护代码.这些通常被分配给具有适当技能的人(例如,开发人员不应该被要求关闭服务器上的端口,除非没有其他人这样做,并且你已经用完了训练过的猴子的香蕉).
但是,并非所有内容都可以在服务器上运行.例如,将客户端输入和绘图元素捕获到屏幕是客户端必须接受的两件事.这是您决定系统需求的地方.
以我们上面的示例为例,通过操作而不是分数将分数发布到服务器,它本身就比发送分数更安全,但是在发送动作时仍然不完全安全,因为玩家可以轻易欺骗系统发送重复动作.
你可以开发一些逻辑来判断动作是否是允许的,或者一些甚至更疯狂的逻辑来判断一个玩家的动作速率是否是人类,但是你可能永远不会让任何人向服务器报告他们的分数,这将是最多的安全,也导致一个非常有趣的游戏.
决定你可以和不能确保哪些领域的任何方面以及它将对应用程序(或游戏 - 我使用游戏,因为parse.com示例使用游戏)的问题总是一个计算风险.
进一步的StackOverFlow相关阅读
这里有一些关于Javascript注入的特殊漏洞的好注意事项: Javascript安全风险?
这个直接与客户端/服务器端验证直接对话: JavaScript:客户端与服务器端验证
这里有一些关于"如何"缩小和混淆代码的注释: 我如何模糊(保护)JavaScript?
关于Javascript中的混淆,请参阅此处以获取有关它是多么不安全的许多注释(特别是在评论中): 最难逆转的JavaScript混淆器