2012-07-26 80 views
0

我在Node.js中用now.js做了一些聊天应用程序。现在我想起了一些事情。 有两个文件:server.js和client.js,每个人都可以窃取client.js文件并在另一个主机上运行它以获得我的server.js工作的好处。我怎样才能防止它?Now.js和secure

这是关于client.js与主机的域名和端口连接:

window.now = nowInitialize("http://address.com:6564"); 

如何使它更安全,例如,仅客户端(js文件)从我的主机(address.com)可以连接与我的主人。

+1

看看这个问题:http://stackoverflow.com/questions/8618448/enhancing-security-in-a-now-js-socket-io-chat – 2012-07-26 09:07:49

+0

这是关于XSS攻击。我询问有人可以复制我的客户并将其用作他自己的客户。而服务器不知道它。 – ElSajko 2012-07-26 09:12:40

回答

0

请问你的用户得到鉴别的为你聊聊吗?有没有注册或任何东西?

也许令牌或安全密钥会这样做?或者一个安全的cookie(对不起,但至少对用户不可见)与该令牌?没有令牌,你无法访问你的服务?

3

如果您关注的是,其他服务器可以使用服务器与客户端代码: 这不应该是因为Same Origin Policy的问题。只有当您的服务器明确允许时,其他主机的客户端才能够与其通信。

只需从一个不同的域名(甚至本地主机)中尝试一下:你会看到你的浏览器不会让你做出跨域请求。

(举个例子,你可以看到this StackOverflow post是用户没能Socket.IO工作在不同的主机/后组合)。

UPDATE

它的工作是这样的:

enter image description here

+0

但CORS如何与客户端文件一起工作?我不清楚这... – nembleton 2012-07-27 01:07:41

+0

我添加了一张图片来阐明CORS如何工作。 – 2012-07-27 10:47:36

+0

啊是的。对。谢谢。如果复制到另一个域,我不清楚如何检查客户端的来源。但实际上浏览器会自动发送它,并检查网络服务器的“OPTION”请求是否允许。是的,我相信这会起作用......我多次使用CORS,但依然依赖于客户端浏览器的信任,仍然觉得有点不安全。但是,在日常生活中,这是一个好的和安全的技术。 – nembleton 2012-07-29 04:55:43