ОБСУДИТЬ ПРОЕКТ
EN RU
Контакты
Мы на связи

Контактное лицо: Крылов
Александр Викторович

ИНН: 3100804517

+38 (095) 385-98-25

E-mail: [email protected]

Skype: gelos_912

Напишите нам

Спасибо, что обратились к нам!

Ваше сообщение отправлено и в ближайшее время мы его рассмотрим и постараемся ответить

Капча — зло! Защита форм Virtuemart без CAPTCHA

На подавляющем большинстве специализированных форумов Virtuemart встречается вопрос о «прикручивании» системы CAPTCHA к формам — например, к форме «Задать вопрос о товаре».
Капча — зло! Защита форм Virtuemart без CAPTCHA
На подавляющем большинстве специализированных форумов Virtuemart встречается вопрос о «прикручивании» системы CAPTCHA к формам — например, к форме «Задать вопрос о товаре».

На подавляющем большинстве специализированных форумов Virtuemart встречается вопрос о «прикручивании» системы CAPTCHA к формам — например, к форме «Задать вопрос о товаре». Проблема сама по себе достаточно важная — незащищенные формы постоянно находятся и спамятся ботами, создающими нагрузку на сервер. В связи с этим, при разработке сайта, «капчи» устанавливаются везде, где это необходимо.

Однако необходимо иметь в виду следующее:

1. В интернете полно роботов, распознающих «капчи». Уровень защиты, которую они обеспечивают, на сегодняшний день достаточно низок.

2. Нечитаемые — или плохо читаемые «капчи» — создают серьезный дискомфорт для посетителей. Часто для верного набора требуется 2-3, а в особенно тяжелых случаях, и более попыток. В процессе набор (а вернее сказать, подбора), пользователь может передумать покупать что либо у Вас и уйти к конкурентам.

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

Для решения описанных задач была разработана следующая функция (часть кода скрыта):

  /**
     * проверяет содержимое сообщения 
     * @param string $mailcontent содержимое сообщения
     * @return bool $result - результат проверки сообщения true | false
    */

    function protect_mail_content($mailcontent) {

        // Запретить последовательности одинаковых символов более [10] знаков подряд 
        $comment_content_length = strlen($mailcontent);
        $char_counter = 0;
        $seq_lenth = 0;
        while ($char_counter <= $comment_content_length) {
            $current_char = $char_counter;
            $next_char = $current_char + 1;
            if ($mailcontent[$current_char] == $mailcontent[$next_char]) {
                $seq_lenth++;
            } else {
                $seq_lenth = 0;
            }
            if ($seq_lenth >= 9) {
                return false;
            }
            $char_counter++;
        }

        // Запретить сообщения, в которых больше [50] процентов латинских символов
        preg_match_all("/[a-zA-Z]/", $mailcontent, $eng_chars);
        $eng_chars_count = count($eng_chars[0]);
        $one_procent = $comment_content_length / 100;
        $eng_procent = $eng_chars_count / $one_procent;        
        if ($eng_procent >= 50) {
            return false;
        }
        return true;
    }

Функция была размещена в файле /administrator/components/com_virtuemart/classes/ps_communication.php.

Все почтовые сообщения, отправляемые с использованием этого класса проверяются функцией на корректность. Корректность сообщения проверяется простым алгоритмом: если в сообщении слово более 9 одинаковых символов (это обычно всевозможные тестовые варианты) или сообщение (в данном случае с вопросом о товаре) содержите более 50% латинских символов — оно считается спамом и не допускается к отправке.

Подобные (более продвинутые механизмы) используются также в составе движка дискуссионной площадки bestportal.com.ua.

В качестве экспериментальной, данная разработка была внедрена на сайт на базе Joomla-Virtuemart, http://lusmag.ru.

гарантии

гарантии

  • 10 лет на международном рынке
  • Внутренние стандарты качества
  • AGILE - методики планирования разработки
  • Передовые методики управления проектами с помощью JIRA
  • Налаженный производственный цикл от планирования и прототипирования до ручного и автоматического тестирования
посмотреть сертификаты отзывы наших клиентов
ГЛАВНОЕ В УСПЕШНОМ ИНТЕРНЕТ-ПРОЕКТЕ
это подобрать надежного и профессионального подрядчика с полным циклом услуг
заполнить бриф