YouTube embed code
Кто нибудь может ответить на вопрос, почему у эмбед кода в ютубе отуствует GUID? Или Flash ActiveX стал настолько дефакто стандартным, что теперь все теги object по умолчанию имеют гид флеша? Странно все это...
<object width="425" height="344"> <param name="movie" value="http://www.youtube.com/v/XcEo5H97CLM&color1=0xb1b1b1&color2=0xcfcfcf&feature=player_embedded&fs=1"></param><param name="allowFullScreen" value="true"></param> <embed src="http://www.youtube.com/v/XcEo5H97CLM&color1=0xb1b1b1&color2=0xcfcfcf&feature=player_embedded&fs=1" type="application/x-shockwave-flash" allowfullscreen="true" width="425" height="344"></embed> </object>
ztools.org
Проект ztools.org наконец дожил до состояния бета версии. Посетители сайта теперь могут скачивать оттуда выбранные компоненты в виде zip архива.
Как узнать IP посетителя сайта
Казалось бы, нет ничего проще - ip адрес посетителя заносится Апачем в переменную $_SERVER['REMOTE_ADDR'] но есть некоторые нюансы...
Пользователь может находится за прокси-сервером а это значит что в REMOTE_ADDR будет адрес не пользователя а прокси-сервера. Если пользователь использует анонимный прокси-сервер с целью спрятать свой ip адрес то определить его реальный адрес вряд ли получится, но если пользователь использует не анонимный прокси, например экономит трафик или еще зачем, то его вполне можно вычислить по заголовкам HTTP_X_FORWARDED_FOR, но при этом нужно учитывать, что если он выходит через прокси своей организации то там может содержаться внутренний ip адрес который нам не нужен.
Все вышесказанное учитывается в вот какой несложной функции:
function get_ip(){ $alt_ip = $_SERVER['REMOTE_ADDR']; if (isset($_SERVER['HTTP_CLIENT_IP'])){ $alt_ip = $_SERVER['HTTP_CLIENT_IP']; } else if (isset($_SERVER['HTTP_X_FORWARDED_FOR']) AND preg_match_all('#\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}#s', $_SERVER['HTTP_X_FORWARDED_FOR'], $matches)){ // make sure we dont pick up an internal IP defined by RFC1918 foreach ($matches[0] AS $ip){ if (!preg_match("#^(10|172\.16|192\.168)\.#", $ip)){ $alt_ip = $ip; break; } } } else if (isset($_SERVER['HTTP_FROM'])){ $alt_ip = $_SERVER['HTTP_FROM']; } return $alt_ip; }
Весна, шашлыки
Что можно сказать - выходные удались :)