Как узнать 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; }
Весна, шашлыки
Что можно сказать - выходные удались :)
SPF для работы с Gmail
Как создать SPF запись для сервера, который сам посылает почту, скажем из различных PHP скриптов на сайте, сам сервер при этом не является MX майлсервером - все ящики лежат на 1and1.com, да еще некоторые из пользователей посылают почту от имени данного сервера через Gmail?
Компетентные источники утверждают, что SPF запись будет выглядеть как то так:
"v=spf1 a mx include:aspmx.googlemail.com ~all"
Хотя несколько вещей мне непонятны, а именно, при попытке посмотреть SPF для гугла, выдается странное:
> nslookup -type=ALL aspmx.googlemail.com
> "v=spf1 redirect=_spf.google.com"
т.е. меня как бы послали на _spf.google.com, но во первых в доменном имени не может быть знака _ - те кто хоть раз пробовал настроить на локальной станции виртуальный домен со значком подчеркивания в имени должны на всю жизнь запомнить и так больше никогда не делать, во вторых домена _spf.google.com не существует...
> nslookup -type=ALL _spf.googlemail.com
> *** UnKnown can't find _spf.googlemail.com: Non-existent domain
кто-нибудь может объяснить данный феномен?
Миллионер из трущоб
Экслер выложил рецензию на фильм, по правде говоря я немножко удивлен как такой фильм мог получить шесть оскаров. Сценарий действительно не выдерживает никакой критики. Я было поначалу подумал что судя по названию фильм будет о чем то типа как черный парень упорным трудом пробил себе дорогу к светлой и богатой жизни... ан нет оказывается это реклама игры "Кто хочет стать миллионером". Кажется, что основная идея фильма - для того чтобы стать миллионером работать не нужно, учиться не нужно, достаточно придти на игру... Возможно, среди американцев действительно эти идеи очень популярны...
Но больше всего порадовал вопрос на двадцать тысяч рупий - их главный и последний самый сложный вопрос: Атос, Портос и... как звали третьего мушкетера?
Похоже в Индии Дюма не читают...
Этот фильм мне напомнил другой фильм - один из моих самых любимых - Форест Гамп, наверное потому, что так же герой рассказывает о своей жизни начиная с самого детства, так же жизнь его носит по миру а он глядит на мир вокруг себя обалделыми неиспорченными мыслями глазами и позволяет этому всему быть не задумываясь особо о дне грядущем... так же любимая девушка у которой полно проблем... и так же главного героя как перышко в первых кадрах фильма, то возносит ветром жизненных ситуаций высоко в небо, то опускает на землю, как бы показывая, что мы в этой жизни не более чем наблюдатели, способные только наблюдать законы приводящие пейзажи в движения...