Есть ли надежная защита от спама?

С недавних пор для борьбы со спамом я использую службу Akismet.
И должен сказать, что работает она не плохо. Количество спама существенно уменьшилось. Если до установки в день приходило 10-20 спамерских трекбеков и около 10 бессмысленных комментариев, явно добавленных вручную, то через пару недель после установки Akismet спамеры похоже обо мне забыли (как бы не на каркать
).
Т.е. спам появляется, но гораздо реже. То количество, которое раньше появлялось за день сейчас приходит за недели 2-3, и оседает в спам-фильтре. Конечно, туда попадают и нормальные комментарии (за 2 месяца – штук пять). Поэтому списки спама приходится регулярно просматривать.
Но я не об этом. На днях заметил одну интересную особенность Akismet. Похоже, кто-то просто игрался с формой добавления комментариев и оставил такой коммент:
Имя: m
eMail: g@mail.ru (вряд ли он настоящий)
URL: отсутствует
Текст: <code></code><em><strong> (т.к. текст состоит только из тегов, комментарий выглядит пустым).
И Akismet спокойно пропустил этот комментарий.
Я понимаю, что отнести его к спаму сложно, т.к. отсутствует ссылка, т.е. спамер не получит никакой выгоды.
Но с другой стороны в FAQ Akismet написано.
Цитирую:
When a new comment, trackback, or pingback comes to your blog it is submitted to the Akismet web service which runs hundreds of tests on the comment and returns a thumbs up or thumbs down.
Перевод:
Когда новый комментарий, трэкбек или пингбек приходит на ваш блог, он отправляется на веб сервис Akismet, который пропускает его через сотни тестов и возвращает решение, принять или отклонить.
Интересно, какие именно тесты из этих сотен прошел комментарий?
Очень похоже на то, что Akismet просто проверяет, есть ли ссылки и только после этого запускает остальные тесты.
В общем-то, логика здесь есть. Нет ссылок – нет выгоды спамеру, нет выгоды – значит это не спам.
Но может возникнуть другая проблема. Если кто-то просто решит завалить ваш блог мусором, то чистить его придется исключительно ручками.
А что вы думаете по этому поводу? Может кто-то работал с другими службами?
Опубликовано в WordPress, Разное | Комментарии (3) »
Как создать облако тегов для своего сайта

В этой статье я расскажу и, естественно, покажу пример создания облака тегов для сайта (блога). Основные инструменты – PHP и фреймворк CodeIgniter (подойдет любой другой).
Но, прежде всего, хочу поблагодарить Delchyve за идею.
Итак, переходим к делу.
Вы, конечно, знаете, что облако тегов используется на многих сайтах (в основном это блоги) как элемент навигации. По-сути, облако тегов – это набор ссылок с ключевыми словами, рядом с которыми обычно пишут количество постов, которые относятся к данному тегу.
Чтобы сфокусировать внимание посетителя на наиболее актуальных темах, размер шрифта тегов в облаке меняют в зависимости от количества постов, которые к нему относятся.
Если ваш сайт (блог) использует какую-нибудь CMS, например, WordPress, Joomla и т.п., то вы без труда найдете плагины, которые сами создадут облако тегов на основе ваших данных, а вам останется только разместить его в шаблоне сайта.
Но мы рассмотрим ситуацию, когда сайт пишется «с нуля» и вам нужно сформировать облако ручками
.
Читать дальше »
Опубликовано в CodeIgniter, HTML, PHP, Web разработка | Комментарии (15) »
Simple URL Checker - запуск проверок по расписанию

Приветствую всех!
Это заключительная статья о разработке web приложения, выполняющего проверку URL.
Примечание. Ссылки на предыдущие статьи этого цикла вы найдете здесь.
На данный момент у нас уже есть работоспособное приложение. Но запускать проверки мы можем только с помощью web интерфейса.
Естественно, гораздо удобнее выполнять проверки по расписанию, а потом периодически просматривать результаты.
И вот здесь возникает проблема. Мы не можем из командной строки вызвать метод ping, т.к. для этого нужно создать экземпляр класса контроллера (Main) и заодно инициализировать ядро фреймворка.
Вообще при работе с CodeIgniter все запросы отправляются скрипту index.php, а уже он в зависимости от полученных параметров инициализирует объекты и вызывает нужные методы.
Проблему можно решить несколькими способами.
Читать дальше »
Опубликовано в CodeIgniter, PHP, Web разработка | Комментарии (2) »
Simple URL Checker - создание представлений

Приветствую!
Сегодня мы продолжаем разработку web приложения, выполняющего проверку URL. На данном этапе чтобы получить работоспособное приложение нам осталось только создать представления.
Примечание. Ссылки на предыдущие статьи этого цикла вы найдете здесь.
Наше приложение содержит всего две страницы. Главную со сведениями обо всех выполненных проверках, и страницу с подробной информацией по конкретному URL. В принципе, нам достаточно двух представлений. Но заголовок и «хвостовик» страницы повторяются, поэтому мы создадим для них отдельные представления.
Все файлы представлений должны находиться в папке application/views/.
Рассмотрим их подробнее.
Читать дальше »
Опубликовано в CSS, CodeIgniter, PHP, Web разработка | Комментариев нет »
Simple URL checker - выполнение проверок (cURL)

Приветствую всех!
Как я и обещал, мы продолжаем разработку приложения для проверки URL и сегодня займемся непосредственно выполнением проверок.
Чтобы немного облегчить себе жизнь, проверки мы будем выполнять с помощью библиотеки cURL.
Эта библиотека предоставляет очень широкие возможности для работы с web ресурсами. Поддерживаются редиректы, отправка данных, установка заголовков, автоматически собирается статистика и многое другое. Естественно, все возможности гибко настраиваются. В общем, при желании можно полностью имитировать работу человека в интернете.
Теперь нам нужно подключить эту библиотеку к PHP. Для этого в файле php.ini нужно убрать «;» в начале строки extension=php_curl.dll. После этого в сведениях, которые возвращает функция phpinfo() появится раздел curl и в нем параметр - cURL support: enabled.
Библиотека подключена и можно начинать ее использовать.
Для начала приведу небольшой пример, иллюстрирующий основные принципы работы с библиотекой на PHP.
Читать дальше »
Опубликовано в PHP, Web разработка | Комментарии (3) »
Simple URL checker - контроллер

Сегодня я продолжу рассказ о разработке web приложения, выполняющего проверку URL.
Но, прежде всего, кратко напомню, что уже сделано на данный момент. Мы определились со структурой приложения и базы данных, установили и настроили фреймворк, а также написали модели для работы с БД.
Примечание. Ссылки на все предыдущие статьи находятся здесь.
Теперь самое время заняться контроллером.
Т.к. приложение довольно простое нам вполне хватит одного контроллера, назовем его main. Кстати, при настройке CodeIgniter в файле routes.php мы указали, что этот контроллер должен загружаться по-умолчанию.
Со структурой приложения и его функциями мы уже определились, переходим к написанию методов контроллера.
Читать дальше »
Опубликовано в CodeIgniter, PHP, Web разработка | Комментариев нет »
Simple URL checker - создание моделей

В этой статье я продолжу рассказывать о создании web приложения для проверки URL. Сегодня мы займемся разработкой моделей.
Примечание. Ссылки на предыдущие статьи этого цикла находятся здесь.
Как вы, наверное, знаете, модели используются для работы с данными. Т.е. если строго следовать модели MVC, модель должна читать / сохранять данные, представление – отображать их, а контроллер – обеспечивать обработку запросов и взаимодействие между моделью и представлением.
Для этого приложения мы сделаем две модели. По одной для каждой таблицы в базе данных.
Примечание. Подробно структуру приложения и базы данных мы рассмотрели в предыдущей статье.
В общем-то, разделение моделей по таблицам довольно условное. Некоторые запросы обращаются к обеим таблицам.
Теперь рассмотрим их подробнее.
Читать дальше »
Опубликовано в CodeIgniter, Web разработка | Комментариев нет »
Web приложение для проверки URL (структура)

В прошлый раз я начал рассказывать о разработке небольшого web приложения, выполняющего проверку доступности сайтов. Мы уже определились с требованиями к этому приложению (составили перечень функций) и библиотеками, которые будем использовать.
Сегодня мы рассмотрим структуру приложения и базы данных, а также установим и настроим фреймворк.
Итак, структура приложения.
Исходя из перечня функций, нам хватит двух страниц.
Главной (mainpage) – здесь будет размещена таблица с краткой информацией о результатах проверок, ссылки «Удалить» для каждого URL, форма добавления нового URL и кнопка «Пинговать все!», запускающая одновременную проверку всех URL.
Страницы со сведениями по выбранному URL (urldetails). Здесь будет таблица с подробной информацией о результатах проверок (время/дата, результат, размер полученной страницы, время и скорость загрузки). Кроме того, мы добавим ссылки для удаления любого из результатов и кнопу «Пинг».
Посмотреть как выглядят эти страницы можно на скриншотах.
Читать дальше »
Опубликовано в CodeIgniter, PHP, Web разработка | Комментарии (2) »
Web приложение для проверки URL

Приветствую всех читателей!
Эта статья открывает небольшой цикл о создании web приложения, предназначенного для проверки доступности сайта.
Конечно, выяснить доступен сайт или нет можно, просто набрав адрес сайта в строке браузера, но если такие проверки нужно проводить регулярно, то стоит автоматизировать процесс. Кроме того, наше приложение сможет собирать данные о нескольких сайтах и показывать статистику (скорость загрузки, размер страницы и т.п.). Назовем его – Simple URL checker.
Давайте сразу определимся с функциями приложения. На мой взгляд, в минимальном варианте потребуются:
1) возможность добавлять / удалять URL сайтов;
2) просмотр статистики по всем URL;
3) просмотр результатов проверок выбранного URL;
4) удаление отдельных результатов проверок;
5) проверка всех URL одновременно и каждого отдельно;
6) запуск проверок из консоли (поддержка cron).
Web приложение напишем на PHP, из дополнительных библиотек будем использовать библиотеку cURL и фреймворк – CodeIgniter.
Примечание. Вообще-то первоначально я думал написать просто пост с небольшим примером работы cURL, но этот пример быстро перерос в полнофункциональное web приложение
. Надеюсь, оно кому-нибудь пригодится.
Итак, с функциями приложения и библиотеками определились, в следующий раз мы подробно рассмотрим структуру приложения и базы данных.
Я буду использовать этот пост как сборник ссылок на все статьи этого цикла. Т.е. по мере их написания оглавление будет пополняться. И, естественно, можно будет скачать архив с приложением.
Оглавление.
1) Структура приложения и базы данных
2) Создание моделей для работы с БД
3) Добавляем контроллер
4) Подключаем cURL
5) Создаем страницы
6) Запускаем проверки по-расписанию
Скачать
Архив с приложением (24 кБ)
В архиве находится папка system/application с приложением, файлы simpleurl.sql, cron_cli.php и install.txt с инструкциями по установке.
До встречи!
Опубликовано в PHP, Web разработка | Комментарии (6) »
Как рассчитать трафик при выборе хостинга

Если вам хоть раз приходилось выбирать хостинг, то вы прекрасно знаете насколько это непросто
.
Основная проблема, конечно, в желании хостеров убедить клиента, что только здесь он получит лучший сервис и неограниченные возможности «почти» даром.
О том, где бывает бесплатный сыр, писать я не буду, думаю, вы и так в курсе.
А в этой статье хочу рассказать об одном из основных параметров хостинга – количестве трафика, который входит в пакет.
Вообще-то, тема далеко не оригинальная и часто обсуждается. Кстати, советую почитать статью Максима «Неограниченный трафик. Бывает ли?».
Но я все-таки хочу рассказать о собственных наблюдениях и расчетах.
Читать дальше »
Опубликовано в Hosting | Комментарии (4) »

