哪里更好地获得cakephp中的用户IP

时间:2010-11-19 06:22:34

标签: cakephp ip

哪里好些 在bootstrap.php或app_controller.php

地理定位需要它。

3 个答案:

答案 0 :(得分:19)

在1.x中使用

RequestHandlerComponent::getClientIP()

它已经涵盖了您可能面临的所有问题

是的,“在您需要它的时间点”

对于2.x,最好使用

$this->request->getClientIp() 

http://book.cakephp.org/2.0/en/appendices/2-0-migration-guide.html#requesthandlercomponent

上记录的控制器内部

答案 1 :(得分:1)

这实际上取决于您使用IP的目的。如果您需要在代码的所有部分中使用它,那么app_controller就是放置它的地方。例如,如果您只需要登录,则将其放在users_controller中。

话虽如此,编写会话变量可能会更好,然后在没有代码开销的情况下随时可用。

答案 2 :(得分:1)

echo $_SERVER['REMOTE_ADDR'];

$remIP = $_SERVER['REMOTE_ADDR'];

在您需要它的时间点。这样你可以确定它是最新的,虽然我不确定它是否会变得陈旧。它一直存在于服务器中,因此没有何时分配它的概念 - 只需在需要时获取它。