2017-04-11 85 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不匹配。

相关问题