Skip to content


WordPress: борьба со спамом

Посвящается тем, кого утомили тонны спама в комментариях, оставляемые с единственной целью – повесить ссылку на продвигаемый спамером сайт. Есть, конечно, для этого дела много разных плагинов, типа Akismet, Bad Behavior, Parasite Eliminator. Но мне больше нравится следующий простой и эффективный метод, не требующий установки никаких плагинов. Нужно просто переименовать поля формы для ввода комментария. И всё! Спамерское программное обеспечение, которое рассылает спам по блогам в автоматическом режиме, как раз и ориентируется на наличие полей в форме с определенными именами. Куда и пытается совать всякую фигню типа "Отличный блог, добавил в закладки :)" ни в коем случае на забывая оставить ссылочку. В случае с WordPress это поля comment, email, url и author. Поэтому в директории, соответствующей установленной теме, нужно отредактировать файл comment.php следующим образом.

  1. Для начала 41-ую строку файла /wp-content/themes/<ваша тема>/forms/comment.php
    <textarea name="comment" id="comment" rows="8" cols="40" tabindex="1"></textarea>

    меняем на:

    <textarea name="komment" id="komment" rows="8" cols="40" tabindex="1"></textarea>
  2. Далее 55-ую строку того же /wp-content/themes/<ваша тема>/forms/comment.php
    <input type="text" name="author" id="author" value="<?php echo $comment_author; ?>" size="22" tabindex="2" />

    меняем на:

    <input type="text" name="aftar" id="aftar" value="<?php echo $comment_author; ?>" size="22" tabindex="2" />
  3. 60-ую строку файда /wp-content/themes/<ваша тема>/forms/comment.php
    <input type="text" name="email" id="email" value="<?php echo $comment_author_email; ?>" size="22" tabindex="3" />

    меняем на:

    <input type="text" name="pochta" id="pochta" value="<?php echo $comment_author_email; ?>" size="22" tabindex="3" />
  4. 72-ую строку
    <input type="text" name="url" id="url" value="<?php echo $comment_author_url; ?>" size="22" tabindex="4" />

    меняем на:

    <input type="text" name="sait" id="sait" value="<?php echo $comment_author_url; ?>" size="22" tabindex="4" />
  5. Затем в файле /wp-comments-post.php меняем код, где упоминаются эти поля формы:
    $comment_author = ( isset($_POST['author']) ) ? trim(strip_tags($_POST['author'])) : null;
    $comment_author_email = ( isset($_POST['email']) ) ? trim($_POST['email']) : null;
    $comment_author_url = ( isset($_POST['url']) ) ? trim($_POST['url']) : null;
    $comment_content = ( isset($_POST['comment']) ) ? trim($_POST['comment']) : null;

    Заменяя оригинальные имена на полей на те, что придумали ранее:

    $comment_author = ( isset($_POST['aftar']) ) ? trim(strip_tags($_POST['aftar'])) : null;
    $comment_author_email = ( isset($_POST['pochta']) ) ? trim($_POST['pochta']) : null;
    $comment_author_url = ( isset($_POST['sait']) ) ? trim($_POST['sait']) : null;
    $comment_content = ( isset($_POST['komment']) ) ? trim($_POST['komment']) : null;
  6. Лично у меня после этих модификаций спам полностью прекратился. А до этого было по 15-20 штук спамерских сообщений в сутки. Хоть на сайте они и не появлялись, так как Akismet их прилежно отлавливал, но все равно нужно было вручную удалять из админки весь этот хлам, чтобы не замусоривать базу данных. Новые имена полей могут быть любыми, лишь бы они отличались от исходных.

    Недостаток такого метода в том, что после обновления WordPress изменения, скорей всего, потеряются и нужно будет либо проделать правки заново, либо пред обновлением сохранить файлы comment.php и wp-comments-post.php, а после обновления – заменить новые на старые. Кроме того, спам через trackback-и все равно пролезет. Поэтому нужно либо их запретить (например, правилами модуля Apache ModRewrite), либо поставить какой-то плагин вроде Simple Trackback Validation.

    Все это проверялось на версиях WordPress 2.9.0 и 2.9.1. Для других версий могут быть отличия в коде и в номерах строк.

Posted in Howto, Web-apps.

Tagged with .


Обналичка чеков

Почитав на форумах о мытарствах наших соотечественников с обналичкой чеков AdSense в украинских банках, хочу сообщить народу о сервисе обналички чеков EPayService. Комиссия - 2,5%. С момента отправки чека из областного центра Украины в Санкт-Петербург до возможности вывода на webmoney проходит 3-4 недели. Удобно тем, что не надо связываться с зажравшимися банками, выстаивать в очередях, тратить нервы на общение с зачастую некомпетентными сотрудниками банковских учреждений и вообще никуда ходить (за исключением одного похода в почтовое отделение для отправки чека). Схема простая:

  1. Регистрируемся в сервисе.
  2. Подписываем полученный чек в рамке с надписью "endorse here", так как описано в разделе "Реквизиты для чеков" личного кабинета
  3. Отправляем чек по обычной почте в г. Санкт-Петербург по адресу, указанному в личном кабинете в разделе "Реквизиты для чеков".
  4. Ждем 2-3 недели получения SMS на Ваш мобильный телефон о приходе чека в г. Санкт-Петербург. После этого информация о чеке будет доступна в разделе "Баланс по счету" личного кабинета
  5. Еще ждем 7 дней следующей SMS о возможности вывода средств.
  6. Заходим в личный кабинет в раздел "Вывод средств" и переводим деньги на кошелек webmoney:

    Вывод средств из epayserviceЗначение в поле "сумма перевода" должно быть как минимум на 0,8% меньше текущего баланса (комиссия webmoney).

Сервис перечисляет средства на WMZ-кошелёк (долларовый). Если нужно потратить титульные знаки webmoney на сайтах, которые принимают отличные от WMZ валюты (большинство украинских сайтов работает с WMU), то можно воспользоваться онлайн-обменниками.

С 2010-го года процесс обналички в EPayService по времени можно значительно сократить, благодаря новой ускоренной процедуре обработки чеков. По информации на сайте EPayService, надо всего лишь отсканировать чек с двух сторон, загрузить сканы чека в личном кабинете и отправить оригинал чека по почте в офис EPayService. Как только оригинал чека поступает в офис, Вам выплачиваются деньги по чеку (становятся доступны для вывода). Чек поступает на обналичивание практически сразу, после загрузки сканов чека в форму, расположенную в личном кабинете. Это дает реальное сокращение срока получения денег по чеку (с момента отправки до момента получения) минимум в 2 раза, а максимум в 4 раза. Фактически это время пересылки оригинала чека по почте в офис представительства в г. Санкт-Петербург.

Вот моя статистика. Первые две строки таблицы --- это работа по "старой" схеме, без загрузки скана. Последние две строки --- это "новая" схема (услуга iCheck).

Отправка по почте Загрузка скана Приход чека в Питер Зачисление на счёт
2009-10-15 --- 2009-11-09 2009-11-16
2010-04-30 --- 2010-05-23 2010-05-30
2010-07-11 2010-07-13 --- 2010-07-25
2010-09-13 2010-09-13 --- 2010-09-29

Как видно, реально имеет место ускорение процедуры примерно в 2 раза. Если раньше с момента отправки чека по почте до момента зачисления средств на внутренний счет EPayService проходило 30-31 дней, то теперь (с предварительной загрузкой скана чека) только 14-16 дней. Также есть некоторые различия в порядке информирования. Раньше приходило 2 СМС: первая когда чек доходил по почте в Санкт-Петербургский офис EPayService, вторая --- когда средства зачислялись на счет. Теперь (в схеме с iCheck) в тот день, когда средства зачисляются на счёт, приходит СМС и уведомление по email. И еще один email приходит в тот день, когда средства со счёта EPayservice перечисляются на кошелёк Webmoney.

А еще осенью 2010-го года был обновлён интерфейс личного кабинета, он стал более современным и более, на мой взгляд, дружественным, а также появилась возможность заказа платисковой карты ePayService MasterCard, что даёт возможность вывода средств напрямую на карту с последующим их снятием в любом банкомате. Тип карты --- MasterCard Standard. Учитывая весьма приличные тарифы на выпуск и обслуживание, пользоваться ими, имхо, имеет смысл только при достаточно больших денежных потоках (от нескольких сотен долларов в месяц). Очень интересная особенность данной карты --- комиссия за снятие налички в банкомате не зависит от суммы снятия (фиксированная).

По теме: Правила оформления почтовых конвертов

А вот тут одна поучительная история на тему как работают наши банки: получение кредитки в ВТБ24

Posted in Misc, Money.

Tagged with , .


Появилась новая прошивка WRT160NL v0.1.2 для роутеров Linksys

Информационный ресурс по поддержке продукции Linksys Мир Wi-Fi сообщает о выпуске новой прошивки для  Linksys WRT160NL --- нового маршрутизатора, ориентированного на Linux-сообщество. Теперь WRT160NL может поддерживать высокую скорость PPTP, 3G и Wimax модемы, Torrent и многое другое. Прошивка ориентирована на высокоскоростную работу с VPN PPTP сетями типа Corbina. К примеру, скорость PPTP соединения доходит до 80 Mbps. В отличие от базовой прошивки, имя PPTP сервера можно задавать не только IP адресом, но и доменным именем, как то vpn.someserver.ru. В новой прошивке USB порт можно использовать для подключения 3G и WiMax модемов. Было провдено успешное  тестирование устройства с сетью PeopleNet (Украина), а также Yota (Россия).  Результаты  тестирования показали, что новая прошивка  отлично подходит для  работы  устройства  в режиме 3G и WiMax. Также преимуществами являются возможность поддержки Torrent клиента и базового принт-сервера. Переход с Linksys прошивки на прошивку Mirwifi.org довольно прост --- достаточно обновить прошивку через Web-интерфейс с помощью стандартной процедуры. Перейти назад на Linksys прошивку можно также через Web-интерфейс.

Posted in *nix.


Установка Skype в 64-битную Linux-систему

К сожалению, Skype пока не выпустил 64-битной версии своего продукта под Linux. Но, погуглив немного, находятся отзывы, что в 64-битной системе можно запустить 32-битную версию. Вот я и решил попробовать на своей Fedora core 11 2.6.30.9-96.fc11.x86_64. Последовательность следующая.

  1. Качаем 32-битную rpm-ку с офф. сайта.
  2. Устанавливаем:
    rpm -ivh skype-2.1.0.47-fc10.i586.rpm
  3. Пытаемся запустить бинарник /usr/bin/skype – он вылетит с жалобой на отсутствующую библиотеку:
    $skype
    skype: error while loading shared libraries: libssl.so.8: 
    cannot open shared object file: No such file or directory
  4. Смотрим c помощью ldd какие ему нужны библиотеки:
    $ldd /usr/bin/skype
    linux-gate.so.1 =>  (0xf77a1000)
    librt.so.1 => /lib/librt.so.1 (0xf7691000)
    libpthread.so.0 => /lib/libpthread.so.0 (0xf6948000)
    libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x00bf2000)
    libm.so.6 => /lib/libm.so.6 (0x00b9b000)
    libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x00bc5000)
    libc.so.6 => /lib/libc.so.6 (0x00a28000)
    libdl.so.2 => /lib/libdl.so.2 (0xf6942000)
    /lib/ld-linux.so.2 (0x00a04000)
    libSM.so.6 => not found
    libXi.so.6 => /usr/lib/libXi.so.6 (0xf655e000)
    libXrender.so.1 => /usr/lib/libXrender.so.1 (0xf6555000)
    libXrandr.so.2 => /usr/lib/libXrandr.so.2 (0xf654d000)
    libXfixes.so.3 => /usr/lib/libXfixes.so.3 (0xf6548000)
    libXcursor.so.1 => /usr/lib/libXcursor.so.1 (0xf653e000)
    libXinerama.so.1 => /usr/lib/libXinerama.so.1 (0xf653b000)
    libfontconfig.so.1 => /usr/lib/libfontconfig.so.1 (0xf6507000)
    libssl.so.8 => not found

    Те библиотеки, которые нужно доустановить, будут помечены как "not found"

  5. Устанавливаем недостающие библиотеки. В моем случае потребовалось установить (командой yum install) следующие пакеты: libICE.i586 libXau.i586 libxcb.i586 libX11.i586 libXext.i586 libXi.i586 libXrender.i586 libXrandr.i586 libXfixes.i586 libXcursor.i586 libXinerama.i586 expat.i586 freetype-freeworld.i586 fontconfig.i586 e2fsprogs-libs.i586 keyutils-libs.i586 zlib-1.2.3-22.i586 libselinux.i586 krb5-libs.i586 openssl.i586 libattr.i586 libcap.i586
  6. После чего пробуем запускать skype, у меня успешно запустился.

Есть альтернативный путь для тех, что не хочет захламять систему библиотеками неродной архитектуры.

  1. Определяем имя rpm-пакета, в котором должна быть отсутствующая библиотека:
    $skype
    skype: error while loading shared libraries: libSM.so.6: 
    cannot open shared object file: No such file or directory
    #locate libSM.so.6
    /usr/lib64/libSM.so.6
    /usr/lib64/libSM.so.6.0.0
    #rpm -qf /usr/lib64/libSM.so.6
    libSM-1.1.0-4.fc11.x86_64

    Значит, нам нужен пакет libSM.i586.

  2. Качаем нужную rpm-ку. Например, найдя ее через rpmfind.net.
  3. Заходим в нее с помощью Midnight Commander-ом (подсветив файл и нажав <Enter>), ищем файл CONTENTS.cpio, через F5 достаем (разархивируем) нужные файлы из каталогов lib, складываем куда-то в одно место, например в /usr/local/lib/32bit.
  4. Добавлем в файл /etc/ld.so.conf строку с путем к скачанным библиотекам:
    $cat /etc/ld.so.conf
    include ld.so.conf.d/*.conf
    /usr/local/lib/32bit
  5. Запускаем по рутом команду ldconfig.
  6. Пробуем запускать skype. Если опять ругается на отсутствие какой-то библиотеки, провторяем пп. 1-5 уже для следующей библиотеки.

Posted in *nix.

Tagged with , , .