2017-04-11 67 views
0

我正在開發一個經典ASP和部分PHP網站。有一個過程在PHP側檢查用戶的IP地址,然後在ASP中確認用戶在同一個IP上。 (這是共享兩個系統之間登錄的系統的一部分,但是防止劫持攻擊。)PHP和經典ASP在同一臺機器上返回不同的IP地址

PHP將IP保存到MySQL數據庫。然後ASP查詢MySQL來檢查IP是與PHP保存的地址相同的。

PHP $_SERVER['REMOTE_ADDR'] = 10.1.4.113

ASP Request.ServerVariables("REMOTE_ADDR") = 10.1.5.9

誰能告訴我,我要去哪裏錯在這裏? (除了「使用VBScript」;-)? )

+0

看來,ASP可能會返回**服務器的** IP而不是用戶的IP。嗯... –

+0

'Request.ServerVariables(「REMOTE_ADDR」)'是獲取經典ASP中用戶IP地址的方式,您需要展示更多代碼。你的php文件如何調用你的asp文件? – John

+0

問題已經得到解答(雖然SE不會讓我「立刻接受」我自己的回答......),但是對於記錄,您提出了一個很好的問題。 PHP通過HTTP調用ASP,因此ASP顯然將服務器視爲「遠程用戶」,而不是調用PHP頁面的實際人類用戶。 –

回答

1

問題回答(我感覺愚蠢)。 PHP正在調用ASP頁面。因此,就ASP結尾而言,服務器本身的「遠程用戶」。 PHP看到用戶的IP。 ASP將服務器視爲「用戶」,因此IP不匹配。

相關問題