【发布时间】:2014-01-28 15:34:44
【问题描述】:
假设我们有一个客户端-服务器应用程序通过网络进行通信,客户端是用 javascript 编写的(几乎是开源的)。例如,我们想在浏览器内运行多人游戏并从广告中获得一些收入。我们希望继续开展业务,因此我们确保处理大部分逻辑的服务器部分的安全,并且我们接受前端/UI 处理客户端被扔到野外并且可能被任何人弄乱。
问题是:如何检测和防止有人复制 Web 应用程序的所有面向公众的内容,包括 JS 客户端,将其与他/她自己的广告、潜在的恶意软件等放在他/她自己的服务器上,而“被劫持的客户端仍然与我们原来的服务器通信?
或者也许这很愚蠢,并且有一些明显的原因导致这种行为不起作用(这可能就是我没有发现任何人提到它的原因)?我觉得我在那里遗漏了一些东西,但到目前为止,我的经验没有告诉我上面段落中的假设情况对于劫持者来说是不可能的,甚至是有利可图的。
【问题讨论】:
-
查看请求来自哪里...
-
客户端如何与服务器通信?在大多数情况下,同源策略已经阻止
other-domain.com上的 JS 与您的服务器通信,除非您故意解决这个问题(CORS、JSONP ...)
标签: javascript security client-server client