2011-06-14 78 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