2013-02-25 71 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