internet

Спам с пословицами

Как и многих других владельцев блогов, меня регулярно донимают спамеры, гадящие в комментариях. Большинство пытается маскироваться под читателей и пишут что-то вроде "Замечательно изложено, пишите больше подобных статей!", а где-нибудь внутри расположена скрытая ссылка на рекламируемый ресурс. Наличие подобных комментариев не только загаживает комментарии, но и отрицательно сказывается на рейтинге блога - поисковики отслеживают источники поискового спама и принимают соответствующие меры.

Поскольку я получаю уведомления о комментариях на почту, а почту читаю практически в реальном времени, подобные комментарии (и пользователи, их оставившие) живут максимум несколько часов. Но давить каждого спамера вручную все-таки некомфортно, поэтому я задумался об автоматизации процедуры - тем более, что противник тоже явно не руками работает.

Установка капчи на регистрацию нового пользователя несколько улучшила положение, но ненамного. Перебрав несколько антиспамовых модулей, я остановился на spambot, который при регистрации нового пользователя сверяется с сервисом Stop Forum Spam, и при выявлении спамера сразу его блокирует. Кроме того, упростилась процедура очистки результатов жизнедеятельности спамеров: одним движением удаляется и пользователь, и все его комментарии, а заодно и отсылается уведомление на тот же Stop Forum Spam.

После того, как я установил себе модуль spambot, спамеры практически перестали меня беспокоить. Но один особо настойчивый продолжает долбиться, обходя все блоки. Мне уже жутко интересно, что это за явление, поэтому я и пишу про него в надежде, что кто-нибудь когда-нибудь мне расскажет про него поподробнее.

Итак, некто оставляет комментарии с пословицей, в которую "запрятано" от одной до трех скрытых ссылок. Пословицы самые разные, от крылатых до таких, которые я видел впервые - база пословиц у него огромна, он практически не повторяется:

"Хочешь жить - умей вертеться!"

"И среди дураков находится умный: тот, кто молчит. "

"Кандалы остаются кандалами, даже если они позолочены."

"Когда нет хлеба, едят и желуди."

Комментарии с пословицами и скрытыми ссылкамиЛогично предположив, что спамер работает по площадям, я полез в Гугл и нашел множество других жертв этого спамера, у которых в комментариях висели такие же пословицы со ссылками. Ими оказались блоги, форумы и прочие платформы на базе Drupal - причем преимущественно русскоязычные.

Собственно, встал вопрос, как это фильтровать. Вводить премодерацию любого рода я не хочу принципиально: любой пользователь считается благонамеренным, пока он не доказал обратного. Spambot может распознавать спамеров по email-адресу и по IP-адресу, но "знаток пословиц" заводит ящик на mail.ru, использует его до тех пор, пока он не наберет достаточно негативной статистики для блокировки, после чего выбрасывает и заводит новый. Аналогично он поступает и с IP-адресами: берет какого-нибудь левого провайдера с динамическим IP (преимущественно из стран бывшего СССР), поочередно "отрабатывает" адреса из диапазона, потом меняет провайдера. Иногда вместе со страной. Не знаю, как технически это делается, но, подозреваю, что это требует изрядного количества ручной работы

При этом почтовые адреса выглядят вполне пристойно, например: lera-bеsperstova@mail.ru, еmelyanchikova-katerina@mail.ru, dоnin_kondrat@mail.ru, nikоlaj_zyatev@mail.ru и т.п.

Единственная имеющаяся на данный момент зацепка - это имена, под которыми пользователь регистрируется. Они генерируются случайным образом и состоят из набора цифр, букв, потом опять цифр: 162sentitarsarh1574, 975liodiabige291, 875woostiysanpio1513 и т.п. Даже располагая примитивным штатным фильтром Друпала, можно создать правило "блокировать пользователя, чье имя начинается на цифру и длиннее десяти знаков" - все подобные имена в этот шаблон укладываются, при этом не страдает ни один легитимный пользователь.

Но это будет работать только до тех пор, пока наш "знаток пословиц" не изменит механизм генерации имен. Так что следующий ход за ним :)

Замена для Google Reader. NewsBlur

Я, кажется, таки нашел альтернативу уходящему Google Reader'у, к которому я, оказывается, привязался крепче, чем думал. Кто не в курсе - это замечательный агрегатор новостей "в одной коробке". Когда Гугл заявил, что с 1 июля 2013 года Google Reader закрывается, я осознал, что у меня практически все потоки информации: новости, блоги, фотоальбомы, башорг и ему подобные сборники - все аккуратно собрано, разложено по категориям и читается каждый день именно через Google Reader. Он помнит, что я уже читал, а что еще нет, где я остановился, прозрачно подхватывает переход с компа на мобильник и обратно - в общем, закрытие сервиса означало, что я лишаюсь удобного, каждодневного и очень привычного инструмента для чтения новостей. Я некоторое время назад даже почти написал пост о том, какая это удобная штука, но все руки не доходили довести черновик до ума... а вот теперь, наверное, уже и не надо.

Логотип feedlyНе буду утомлять списком перепробованных альтернатив, главное - что ничего не подошло. Даже Feedly - лидер среди кандидатов - у меня не прижился. Главным образом потому, что его мобильный клиент делал человек, явно ничего не знающий о юзабилити. Я несколько раз пытался привыкнуть к этому новомодному, продвинутому, но совершенно недружественному интерфейсу, и каждый раз отступался. Окончательно я отступился, когда понял, что мобильный Feedly рассчитывает на стабильную и непрерывную связь с сетью, и не кэширует вообще ничего. Для меня, человека, часто читающего новости в метро, такой клиент совершенно бесполезен - особенно после Google Reader'а, которому вполне хватало "глотка воздуха" между станциями, чтобы засосать все, что может понадобиться на ближайшие три-пять минут.

Логотип NewsBlurПрошло два месяца, 1 июля приближалось. Я был близок к отчаянию, поэтому пошел просматривать претендентов по второму кругу. И вдруг, на удивление, один из прежних гадких утенков по имени NewsBlur оказался вполне себе приличным лебедем. Ранее отвергнутый за неимоверную кривизну и неповоротливость, теперь он был доведен до такого состояния, что я с удовольствием попробовал его еще раз - и остался доволен. С учетом того, что NewsBlur платный - стоит 24 доллара в год - это особенно показательно. Впрочем, его бесплатная версия тоже вполне функциональна, но у меня подписок в четыре раза больше, чем поддерживается в бесплатной версии. И хотя, откровенно говоря, из всех этих подписок куча ненужных, я просто не хочу себя ни в чем ограничивать :)

Под катом подробно расписаны мои впечатления от NewsBlur.

Поиск фильма по памяти

Увидел у Тёмы Лебедева очередную "фуршетную" тему под заголовком "Чёзафильм", в которой одни комментаторы могут попросить других опознать фильм по описанию сюжета или какого-нибудь эпизода. Одно из описаний меня заинтересовало:

Советский.
Родители уехали и оставили парня эгоиста лет 10 на перевоспитание дяде.
Пацан сидит на кресле, смотрит телек. Дядя говорит: "Я тоже хочу. Давай компромисс - ни ты, ни я не будем сидеть на этом кресле."
Пацан соглашается. Сидят оба на диване. Дядя говорит: "Раз тебе на диване удобно, то сиди, а я на кресло пойду сяду - всё равно простаивает."

Заинтересовало потому, что я вспомнил, что тоже видел этот фильм. И тоже в памяти остался только этот фрагмент. Более того, я доподлинно помню, слово "компромисс" я узнал именно из этого диалога. Уже один только этот факт указывает на то, насколько давно это было. Лет двадцать пять назад, не меньше.

Меня зацепило. Я был уверен, что смогу найти этот фильм - правда, пока еще не очень понимал, как. Гугл по ключевым словам даже близко ничего не давал.

Год на новом месте или Связь превыше всего

Стоило кому-нибудь умереть, будь это мужчина, женщина или ребенок, покойник еще и остыть не успеет, а она уж тут как тут со своими стихами. Она называла их «данью покойному». Соседи говорили, что первым являлся доктор, потом Эммелина, а потом уже гробовщик; один только раз гробовщик опередил Эммелину, и то она задержалась из-за рифмы к фамилии покойного, а звали его Уистлер.

М.Твен, "Приключения Гекльберри Финна"

Сегодня ровно год как мы живем в своей новой квартире. Нет, специально мы дату не запоминали, просто это было сразу после Нового года - значит, в январе. А когда возник вопрос "а когда именно в январе мы переехали?", ответ на него оказался очень простым - надо просто посмотреть дату заключения договора с Интернет-провайдером.

Вот такая она, современная семья :) Как писали на БашОрге, "Инет - современный аналог домового. Когда он приходит в новый дом - можно жить, значит. Приносит в дом тепло и уют". Все правильно: появился Интернет - значит, можно жить. Что показательно, первые пару дней у нас даже сантехника толком не работала, но Интернет появился в первые же часы. Я заранее позвонил провайдеру, согласовал время подключения, поэтому представитель провайдера был у нас с кабелем и договором, когда грузчики еще не закончили заносить наши коробки.

Сантехник же пришел только через два дня. А потом уже постепенно появился минимальный набор кухонной техники (кто-нибудь пробовал пожить месяц без холодильника?) и прочие необходимые в хозяйстве вещи. Необходимые - но во вторую очередь после Интернета :)

P.S. А еще именно сегодня на станции метро Адмиралтейская (открывшейся незадолго до нашего переезда и явно как раз с той целью, чтобы мне было удобнее ездить на работу), наконец, появилась связь от МТС. Я как раз дописывал этот пост, спускасясь по эскалатору, как вдруг мне пришло сообщение от Юли в чате. Приятный подарок к годовщине переезда!

Найти картинку покрупнее

Современные соцсети - премерзкая штука. По ряду причин.

Во-первых, они делят мир на "своих" и "всех остальных". Все содержимое соцсети, как правило, для внешнего мира недоступно. Не потому, что там что-то сверхсекретное пишут, а потому, что так сделано по умолчанию. Более того, даже "открыто для всех" в понимании большинства соцсетей означает "открыто для всех наших пользователей" - все остальные получают шиш с маслом приглашение завести аккаунт. Разумеется, совершенно бесплатно!

Во-вторых, они все возомнили себя фотоальбомами. Мол, храните картинки у нас и тут же делитесь ими с друзьями. В дополнение к уже упомянутым выше идиотским ограничениям доступа, из-за которых невозможно просто поделиться ссылкой на фотоальбом, если человек не сидит в той же соцсети, у них у всех есть еще одна повальная склонность уменьшать картинки до крошечных размеров - причем без возможности посмотреть более качественную версию.

Первое плохо тем, что становится все меньше полезного контента, находящегося в открытом доступе. Поисковики закрытый контент не индексируют, поэтому найти его в Гугле или Яндексе невозможно. В итоге получается, что люди пишут полезные вещи, делятся опытом (я сейчас говорю не о записях "для друзей", а о тех, на которых стоит гриф "для всех") - а другие не могут это найти.

Второе плохо тем, что у всех людей разные требования к качеству изображения. И если один человек "утоптал" картинку до размеров, которые, как ему кажется, на его компьютере, смотрятся приемлемо, то у другого может быть и экран побольше, и глаз попривередливее. И что теперь делать?

Как Добрый Стоматолог Госавтоиспекцию захватил

Tags: 

Изучал я сегодня сайт администрации города - искал, куда бы наябедничать на совершенно идиотское перекрытие центра города в связи с международным экономическим форумом, чтоб его...

В процессе изучения набрел на страничку со списком ведомств, которые теоретически во этом замешаны - с адресами, телефонами, а некоторые даже с сайтами. И вот в том числе я решил сходить на сайт ГИБДД: www.gibddspb.ru. Открываю - и вижу вот такую феерическую картинку!

Легкий вход на Яндекс. Аккаунт в соцсети вместо пароля

Все-таки цивилизованный онлайновый мир потихоньку движется в правильном направлении. Недавно заметил, что Яндекс сделал возможность входа не только по логину/паролю, но и просто представившись пользователем какой-нибудь соцсети. Для меня это отличная возможность избавиться от лишнего пароля, который мне до сих пор приходилось помнить и регулярно вводить. Дело в том, что я держу основную почту на Гугле, но при этом активно пользуюсь сервисами "Мой Круг" и "Яндекс.Метрика" - и теперь, чтобы войти в них, мне нужно просто ткнуть на иконку с логотипом гугла рядом с формочкой входа.

Работает это очень просто: нужно войти в раздел "социальные профили" в Яндекс.Паспорте и добавить туда свой аккаунт в своей любимой соцсети. Вас попросят подтвердить, что вы действительно являетесь владельцем данного аккаунта, а также потребуется еще раз - последний! - ввести свой пароль от Яндекса, чтобы подстраховаться от возможного угона. После этого, хоть на Яндекс по-прежнему можно будет войти через логин/пароль, делать это будет уже незачем - при входе достаточно будет лишь кликнуть на иконку своей любимой соцсети.

Таким образом, у меня есть хорошая новость для тех, кто пользуется Яндексом: если у вас, скажем, почта на Яндексе и при этом вы еще активно пользуетесь, скажем, Фейсбуком, то вы можете добавить свой фейсбуковский профиль в яндекс-паспорт и спокойно ходить к себе в почту без пароля.

Я уверен, что, введя понятие Яндекс.Паспорта, Яндекс начал очень правильную и полезную практику. Надеюсь, что и остальные сервисы скоро последуют его примеру. А со временем эта дурацкая традиция обязательно заводить на каждом сайте логин с паролем и вовсе уйдет в историю, а понятие "паспорт от соцсети" (т.е. Яндекс.Паспорт или, там, Фейсбук.Паспорт) станет чем-то привычным и естественным. И в Интернете станет еще чуточку удобнее :)

Под катом - подробная инструкция с картинками.

Точное время! Для всех! Даром!

Итак, я это сделал. После написания поста про настройку точного времени на домашнем компьютере я всерьез задумался о том, чтобы присоединиться к тем добровольцам, которые где-то берут точное время и потом раздают его всем желающим. Практически все необходимое для этого у меня уже было:
- постоянно работающий сервер уже настроенным и работающим ntpd;
- безлимитный скоростной интернет;
- постоянный внешний IP-адрес.

Оставалось самое интересное - найти несколько надежных источников точного времени первого уровня и подключиться к ним. Причем рекомендуется выбирать географически близкие, чтобы погрешность от времени распространения сигнала была минимальной. Это, в сущности оказалось несложно: на сайте pool.ntp.org есть примерный список, в котором есть и российские сервера (преимущественно это всякого рода научные учреждения). Я решил подойти к вопросу со всей основательностью, отправил каждому заявку на использование. По большей части это формальность, рекомендуемая правилами хорошего тона, поскольку почти все эти сервера открытые для публичного доступа. Но тем приятнее получить в ответ "Спасибо за уведомление, пользуйтесь на здоровье!"

А дальше уже дело техники. Настроил ntpd на синхронизацию с вышеупомянутыми источниками, поставил на роутере проброс 123 порта на сервер, убедился в том, что NTP-сервис доступен извне, зарегистрировал IP-адрес на pool.ntp.org и стал ждать.

Прежде чем предоставить мой сервер во всеобщее использование, его почти целый день испытывали, чтобы убедиться в его пригодности :) Специальная программа-монитор регулярно проверяет доступность, надежность и точность всех серверов в кластере, и те, кто по каким-либо характеристикам не соответствует норме, выводятся из обслуживания. И вот, наконец, меня присоединили к кластеру остальных добровольцев и на мой сервер стали поступать запросы со всех уголков России. Пока около 1000 запросов в сутки - нагрузка, сами понимаете, совершенно неощутимая, к тому же ее можно регулировать, указав в профиле примерную "толщину" своего канала. На сайте обещают поток порядка миллиона запросов в сутки - возможно, доживем и до таких величин :) В любом случае, это капля в море по сравнению с мощностью сервера и пропускной способностью канала, поэтому выполнению основных задач абсолютно не мешает.

Так что, господа, берите точное время на российском сегменте сервиса по адресу ru.pool.ntp.org! На сегодняшний день там 87 серверов, и один из них - мой :)

Update: Начиная с апреля 2015 года - ee.pool.ntp.org :)

Точное время в домашней локалке


A man with a watch knows what time it is. A man with two watches is never sure.
Segal's law

Часы советского ТВВсе-таки домашний сервер - это не только ценный мех, но еще и куча приятных мелочей в нагрузку. Помимо своих непосредственных задач (бэкап, хранение и раздача файлов), сервер может брать на себя еще множество мелких обязанностей, возлагать которые на персоналку часто неэффективно, да и просто идеологически неверно.

Недавно обнаружилось, что у нас в доме на всех компах разное время. Не то, чтобы фатально разное, но на несколько минут отличается. И это при том, что на всех вроде как включена синхронизация с time.windows.com, от которой на практике толку ровным счетом никакого. Ситуация тем абсурднее, что даже оба наших мобильника умудряются где-то брать точное время безо всяких дополнительных настроек, а полноценные компьютеры с постоянным доступом в Интернет сделать этого не могут.

Под катом - парочка идеологически верных способов это исправить.

Google сломал OpenID

Гугл мало того, что выпустил невнятную поделку a la Facebook, так он тем самым еще и сломал OpenID. Теперь у всех его пользователей сменились идентификаторы, а старые, соответственно, больше не работают. Теперь попытка зайти через кнопочку с логотипом Гугла приводит к сообщению "Извините, это неправильный OpenID".

В ближайшее время уберу эту кнопочку и буду думать, что с этим делать дальше. А пока всем, кто ходил ко мне через нее, придется воспользоваться ссылкой "забыл пароль".

Страницы