1
CakePHP附帶的getClientIP()方法有時會返回私有IP。例如IP如127.0.0.1或192.x.x.x.我認爲這是由代理引起的。在CakePHP上獲取外部(非私有)IP地址的防故障方法?
看着getClientIP()的代碼,它看起來好像它試圖處理代理問題,但它並沒有真正檢查IP是否是私有的。
獲得真實的非私有IP地址的最佳方式是什麼?
謝謝。
CakePHP附帶的getClientIP()方法有時會返回私有IP。例如IP如127.0.0.1或192.x.x.x.我認爲這是由代理引起的。在CakePHP上獲取外部(非私有)IP地址的防故障方法?
看着getClientIP()的代碼,它看起來好像它試圖處理代理問題,但它並沒有真正檢查IP是否是私有的。
獲得真實的非私有IP地址的最佳方式是什麼?
謝謝。
嘗試撥打getClientIp(false)
。如果這不起作用,您可以直接使用$_SERVER["REMOTE_ADDR"]
。它將始終包含實際連接到服務器的外部IP。與用於代理的http頭不同,此地址不能被操縱。