2013-02-25 74 views
0

我记录到一个明确sesssion在两个方面的Node.js和ExpressJS /使主机名和IP地址

  1. http://myhostname.com/login
  2. http://123.123.43.12/login
myhostname.com

IP地址之间是有差异123.123.43.12

要检查是否有人已经登录,我基本上都是在这个例子中

如果(用户=== req.session.username & & PWD === req.session.password)

然后我让从页面相同的AJAX查询

  1. http://myhostname.com/main.html,AJAX询问http://123.123.43.12/ajax =>电子RROR不记录
  2. http://123.123.43.12/main.html,AJAX询问http://123.123.43.12/ajax =>成功

我怎么能告诉expressJS(会话)或节点myhostname.com123.123.43.12是相同的?

回答

2

您应该检查same origin policy。决定两个url是否具有相同来源的规则是严格相同的协议,主机和端口。 myhostname.com和123.123.43.12不是同一出处。

AJAX遵循相同的原产地策略,因此无法查询除原点之外的任何其他页面。这就是为什么如果你从123.123.43.12访问main,你可以访问它的ajax,但不能从myhostname.com。如果您使用myhostname.com粘贴,或者如果您使用123.123.43.12然后坚持。请勿互换使用。

+0

谢谢。我将使用JSONP技术。 – Farandole 2013-02-25 19:50:26