Как узнать 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
кто-нибудь может объяснить данный феномен?
&& в коммандной строке
Чтобы перезапустить Apache в *nix системах достаточно ввести /etc/init.d/httpd restart после некоторой практики запомнить такое и набрать не представляет труда, но вот если вы работаетe под Windows то придется сначала набрать net stop apache2, подождать когда апачь остановится, потом набрать net start apache.
В принципе все просто, но вот ждать я не люблю - это не сложно но раздражает, нельзя ли набрать команду и забыть? Решение подсмотрел в Unix системах - можно писать команды в одну строчку используя разделитель && - под Windows так тоже можно.
net stop apache2 && net start apache2
Теперь перегрузить Апач можно гораздо быстрее...
Несвоевременная прописка ребенка
Как то раз случилось мне прописывать ребенка - нужно было встать в очередь в садик и в РОНО требовали чтобы ребенок был прописан. Ребенку к тому времени исполнилось полтора года, о том чтобы раньше прописать не было даже и мысли - а нафига?.
Прийдя в выбранный день к паспортистке и заявив о желании прописать ребенка, мне было сказано, что де я должен был прописать ребенка сразу как тот родился в течении сорока дней а теперь, чтобы прописать ребенка я должен заплатить штраф - полторы тысячи рублей. В общем, был я послан в паспортный стол для уплаты штрафа.
Однако, дебилизм ситуации заставил меня немного порыться в интернете нашем законодательстве и разобраться все же на основании чего мне предложили расстаться со своими кровными.
Ответ нашелся довольно быстро, оштрафовать можно, например, на основании вот этой статьи:
Статья 19.15. Проживание гражданина Российской Федерации без удостоверения личности гражданина (паспорта) или без регистрации
1. Проживание по месту жительства или по месту пребывания гражданина Российской Федерации, обязанного иметь удостоверение личности гражданина (паспорт), без удостоверения личности гражданина (паспорта) или по недействительному удостоверению личности гражданина (паспорту) либо без регистрации по месту пребывания или по месту жительства -
(в ред. Федерального закона от 08.12.2003 N 161-ФЗ)
влечет наложение административного штрафа в размере от одной тысячи пятисот до двух тысяч пятисот рублей.
(в ред. Федеральных законов от 25.10.2004 N 126-ФЗ, от 22.06.2007 N 116-ФЗ)
2. Допущение лицом, ответственным за соблюдение правил регистрационного учета, проживания гражданина Российской Федерации без удостоверения личности гражданина (паспорта) или по недействительному удостоверению личности гражданина (паспорту) либо без регистрации по месту пребывания или по месту жительства, а равно допущение гражданином проживания в занимаемом им или в принадлежащем ему на праве собственности жилом помещении лиц без удостоверения личности гражданина (паспорта) либо без регистрации по месту пребывания или по месту жительства -
влечет наложение административного штрафа в размере от двух тысяч до двух тысяч пятисот рублей.
(в ред. Федеральных законов от 25.10.2004 N 126-ФЗ, от 22.06.2007 N 116-ФЗ)
Но все же как то просто так платить полторы штуки мне не хотелось, да и что то тут не клеится - ребенок еще маленький сам прийти и прописаться не может и, следовательно, привлечь его к гражданской ответственности задачка та еще. Про родителей в же в законе явно ничего не сказано. Там речь вообще не идет о новорожденных ребенках только о гражданах прибывших по месту жительства.
Более детальный поиск в интернет дал следующий документ: ПЛЕНУМ ВЕРХОВНОГО СУДА РОССИЙСКОЙ ФЕДЕРАЦИИ ПОСТАНОВЛЕНИЕ
от 24 марта 2005 г. N 5 О НЕКОТОРЫХ ВОПРОСАХ, ВОЗНИКАЮЩИХ
У СУДОВ ПРИ ПРИМЕНЕНИИ КОДЕКСА РОССИЙСКОЙ ФЕДЕРАЦИИ
ОБ АДМИНИСТРАТИВНЫХ ПРАВОНАРУШЕНИЯХ
А именно параграф 14: Согласно части 2 статьи 4.5 КоАП РФ при длящемся административном правонарушении сроки, предусмотренные частью первой этой статьи, начинают исчисляться со дня обнаружения административного правонарушения. При применении данной нормы судьям необходимо исходить из того, что длящимся является такое административное правонарушение (действие или бездействие), которое выражается в длительном непрекращающемся невыполнении или ненадлежащем выполнении обязанностей, возложенных на нарушителя законом. Невыполнение предусмотренной нормативным правовым актом обязанности к установленному в нем сроку не является длящимся административным правонарушением. При этом необходимо иметь в виду, что днем обнаружения длящегося административного правонарушения считается день, когда должностное лицо, уполномоченное составлять протокол об административном правонарушении, выявило факт его совершения.
Из этого труднопереваимового текста следует, что привлечь вас к ответственности за то что вы не прописали ребенка вовремя никто не вправе и любой суд вас оправдает.
Распечатав листочек с выдержкой из этого документа, на следующий день пошел к начальнику паспортного стола. Выстояв очередь из десятка таких же лохов горемык попал в кабинет к инспектору которым оказалась миловидная девушка с погонами лейтенанта. Объяснив ей ситуацию и показав нормативный акт на основании которого она не может меня оштрафовать она согласно кивнула, уточнив только номер документа - оказывается она была в курсе. Так же она согласилась, что ОТКАЗ ПЛАТИТЬ ШТРАФ НЕ ЯВЛЯЕТСЯ ПОВОДОМ ДЛЯ ОТКАЗА В ПРОПИСКЕ.
После этой милой беседы она послала меня опять к паспортистке сказав, что мол, можно прописывать — она разрешает. Паспортистка поморщилась но документы взяла. Так я прописал ребенка....
Итак еще раз - если с вас требуют штраф - знайте - отказ платить этот штраф не может являться поводом для отказа прописать ребенка. Никто, ни один чиновник не может отказать вам в прописке ребенка если вы не оплатите этот штраф. Должностное лицо должно составить протокол о правонарушении и если после этого вы не пропишете ребенка в течении сколько то там дней вы ребенка не пропишете - то только тогда вас можно оштрафовать. Но так как сразу после этого ребенок будет прописан - следовательно штрафовать вас не за что. На практике получается, что с вас требуют штраф чтобы прописать ребенка - а это не законно. То есть представители закона, призванные этот закон защищать сами его нарушают. Конечно же никто никакие протоколы не составляет - просто так выполняется план по сбору штрафов с населения - и ведь платят...
Давно хотел написать про этот случай но все откладывал, но вот недавно узнал что одна моя знакомая недавно заплатила этот штраф который сегодня составляет уже две тысячи рублей - цены растут.
Граждане будьте бдительны - в нашей стране незнание закона не освобождает от ответственности. Знание закона - освобождает.
Дисклаймер: нет нет, я не юрист, образование у меня техническое а вышеприведённый пост есть просто пересказ неких реальных событий произошедших со мной. Надеюсь, этот пост поможет другим людям оказавшихся в подобной ситуации разрешить аналогичный вопрос. Хотя, может так случится, что со временем эта процедура действовать перестанет. Например, когда я пошел прописывать второго ребенка ритуал оказался в принципе другим. На просроченный срок давности уже никто не смотрел, зато потребовалось ЛИЧНОЕ присутствие ВСЕХ жильцов, прописанных в этой квартире.
Upd. Выложил еще один пост на эту тему.