2011-06-14 79 views
0

我正在使用基于XML的SOAP调用PHP文件。由基于XML的SOAP调用的PHP文件中的REMOTE_ADDR

我面临以下问题: 我想在一个PHP文件中读取$_SERVER['REMOTE_ADDR'](由SOAP调用)(WSDL),但我只是获取承载SOAP的服务器的IP。相反,我想看到发送SOAP CALL的用户的IP。 有没有解决方法?

感谢您的帮助!

+0

你能更详细地描述设置吗?即是“托管肥皂”客户端和你的PHP服务器之间的另一台服务器? – cweiske 2011-06-14 12:41:49

回答

0

您必须在您的SOAP请求中包含用户的IP。很明显,发送请求的人可以发送任何他需要发送的IP。

+0

是的,但没有办法获得用户的IP?如果我要求用户自己发送IP作为属性,我没有任何意义。 – zerozero 2011-06-14 11:33:38

+0

您可以访问的唯一IP是访问您的PHP脚本的系统之一。如果用户直接访问它,则$ _SERVER ['REMOTE_ADDR']'将起作用,如果请求通过另一个系统进行代理,则只有该系统的IP可见。 – ThiefMaster 2011-06-14 11:41:32

+0

确实!那么用户调用SOAP,这意味着PHP文件被SOAP调用。所以我的问题是,是否有可能将IP与其他属性一起传递而不要求用户发送他的IP?我可以以某种方式在xml文件中读取它吗?我想不是,对吧? 这就是为什么我要求一个workarround。我从几天以来一直在寻找,但找不到解决方案。 如果有人有解决方案,我会很高兴! – zerozero 2011-06-14 11:45:12