В данной статье рассмотрим одну из распространенных задач в программировании на PHP. А именно, как в php определить ip пользователя.
Если я работаю не с фреймворком (к примеру таким как Yii), то использую одно из готовых решений в виде следующей функции:
function user_ip() { if(getenv("HTTP_CLIENT_IP") && strcasecmp(getenv("HTTP_CLIENT_IP"),"unknown")) { return getenv("HTTP_CLIENT_IP"); } else if(getenv("HTTP_X_FORWARDED_FOR") && strcasecmp(getenv("HTTP_X_FORWARDED_FOR"), "unknown")) { return getenv("HTTP_X_FORWARDED_FOR"); } else if(getenv("REMOTE_ADDR") && strcasecmp(getenv("REMOTE_ADDR"), "unknown")) { return getenv("REMOTE_ADDR"); } else if(!empty($_SERVER['REMOTE_ADDR']) && strcasecmp($_SERVER['REMOTE_ADDR'], "unknown")) { return $_SERVER['REMOTE_ADDR']; } return NULL; }