if(preg_match("/Opera Mini/i", $_SERVER['HTTP_USER_AGENT']))
{
$ip = $_SERVER['HTTP_X_FORWARDED_FOR'];
if(empty($_SERVER['HTTP_X_FORWARDED_FOR'])) $ip=$_SERVER['REMOTE_ADDR'];
$ua = "Opera Mini/ ".$_SERVER['HTTP_X_OPERAMINI_PHONE_UA'];
if(empty($_SERVER['HTTP_X_OPERAMINI_PHONE_UA'])) $ua=$_SERVER['HTTP_USER_AGENT'];
}
else
{
$ip=$_SERVER['REMOTE_ADDR'];
$ua=$_SERVER['HTTP_USER_AGENT'];
}
$ip – ip адрес
$ua – юзер агент
Не забываем только фильтровать принятые данные ;)
Ну и данное решение будет работать на большинстве OperaMini, но к сожалению не на всех, так как некоторые версии немного по другому передают реальные данные.
Информация взята с
http://thiswap.com/2010/08/16/uznaem-realnyj-ip-adres-i-user-agent-v-operamini/