makim925 Posted January 28, 2017 Report Share Posted January 28, 2017 Подскажите, как решить данную проблему, постоянно какой то спам приходит Quote Link to post Share on other sites
Noxter Posted January 28, 2017 Report Share Posted January 28, 2017 Подскажите, как решить данную проблему, постоянно какой то спам приходитСтавьте рекапчу от гугл Quote Link to post Share on other sites
service79 Posted January 28, 2017 Report Share Posted January 28, 2017 Есть проще вариант. Я себе его и поставил - работает 100%В поиске поищите в готовых решениях - Gloobus сделал - скрытое поле, которое заполняют только боты - в конец проверка, если поле заполнено - коммент отклоняется. Итог 99% спама фильтруется автоматом. Quote Link to post Share on other sites
Asilis Posted January 29, 2017 Report Share Posted January 29, 2017 Я так себе сделал. Если кому нужно, могу написать. Quote Link to post Share on other sites
Asilis Posted January 29, 2017 Report Share Posted January 29, 2017 Открываем docs/design/theme/html/product.tpl После -> <div class="form_group"> <textarea class="form_textarea" rows="4" name="text" data-format=".+" data-notice="{$lang->form_enter_comment}" data-language="{$translate_id['form_enter_comment']}" placeholder="{$lang->form_enter_comment}*">{$comment_text}</textarea> </div> Добавляем -> <textarea class="form_textarea_palevo" rows="4" name="email" data-format="" data-notice="" data-language="" placeholder="*"></textarea> Далее открываем /docs/view/ProductView.php После -> if ($this->request->method('post') && $this->request->post('comment')) Вставляем -> if (empty($this->request->post("email"))) В стилях добавляем textarea.form_textarea_palevo { display: none; } Готово! Поясняю: Так, как у моего коментария нет поля для ввода email я его добавил и скрыл для пользователей. Поставил проверку - если поле пустое коментарий отправляется. Если нет, то ничего. Если кто-то в коментариях использует email, поставьте скрытое поле "phone", так как роботы умные, любые поля не заполняют. Проверял. Quote Link to post Share on other sites
Боло Posted February 26, 2017 Report Share Posted February 26, 2017 почему нельзя просто проверить сообщение на содержание такого рода как "http, www, .ru, .com..." ?Да и с одобрением админа вроде добавляются комменты, нет разве? Quote Link to post Share on other sites
Noxter Posted February 26, 2017 Report Share Posted February 26, 2017 почему нельзя просто проверить сообщение на содержание такого рода как "http, www, .ru, .com..." ? Да и с одобрением админа вроде добавляются комменты, нет разве?Да все верно но при условии если есть одобренные комментарии с таким IP адресом, то новый комментарий автоматом становистя одобрен. Quote Link to post Share on other sites
Julia-sk Posted March 28, 2017 Report Share Posted March 28, 2017 Начало сыпаться по 20-30 комментариев-отзывов в день по основному сайту, вариант со скрытым полем не прокатил, но оставила. Атака идет в основном на несколько страниц товаров, видимо, где-то в базе спамеров есть ссылки. Посмотрела логи сайта, фиксируются заходы, IP и прочие данные меняются, не заблокировать на уровне .htaccess, как плохих ботов. В Вебвизоре Яндекс не фиксируется, т.е. это точно боты. Поскольку цель таких ботов добавить ссылки, то пошла по указанному пути: почему нельзя просто проверить сообщение на содержание такого рода как "http, www, .ru, .com..." ?Да и с одобрением админа вроде добавляются комменты, нет разве? В /view/ProductView.php изменила одну строчку кода: //антиспам elseif ((empty($comment->text)) OR (!stristr($comment->text, 'http') === FALSE)) { $this->design->assign('error', 'empty_comment'); } Использовала именно stristr, т.к. ссылки приходят в разном регистре, и даже в смешанном. В программировании не сильна, поэтому тапками сильно не кидайтесь. Пока больше ничего не приходит. Если продолжится, напишу и буду ставить гуглокапчу. Quote Link to post Share on other sites
Noxter Posted March 28, 2017 Report Share Posted March 28, 2017 Напишите в скайп simplacms, поставлю вам капчу от гугла за небольшое вознаграждение. Quote Link to post Share on other sites
Julia-sk Posted March 28, 2017 Report Share Posted March 28, 2017 Спасибо. Если не поможет этот вариант, то обращусь. Quote Link to post Share on other sites
Julia-sk Posted March 31, 2017 Report Share Posted March 31, 2017 Помогло. Quote Link to post Share on other sites
Gennady Posted April 2, 2017 Report Share Posted April 2, 2017 Начало сыпаться по 20-30 комментариев-отзывов в день по основному сайту, вариант со скрытым полем не прокатил, но оставила. Атака идет в основном на несколько страниц товаров, видимо, где-то в базе спамеров есть ссылки. Посмотрела логи сайта, фиксируются заходы, IP и прочие данные меняются, не заблокировать на уровне .htaccess, как плохих ботов. В Вебвизоре Яндекс не фиксируется, т.е. это точно боты. Поскольку цель таких ботов добавить ссылки, то пошла по указанному пути: В /view/ProductView.php изменила одну строчку кода: //антиспам elseif ((empty($comment->text)) OR (!stristr($comment->text, 'http') === FALSE)) { $this->design->assign('error', 'empty_comment'); } Использовала именно stristr, т.к. ссылки приходят в разном регистре, и даже в смешанном. В программировании не сильна, поэтому тапками сильно не кидайтесь. Пока больше ничего не приходит. Если продолжится, напишу и буду ставить гуглокапчу.Весьма элегантное решение. Но есть нюанс. На одном сайте работает, на другом нет. Причем именно с HTTP и пролезает. Может прописать еще несколько условий, помимо http? Quote Link to post Share on other sites
Julia-sk Posted April 2, 2017 Report Share Posted April 2, 2017 У меня только по "http" условие, пока помогает. Хотя для ботов других вариантов и не вижу, у них цель загадить все ссылками. Изредка присылают интим-спам с именем и фамилией в социальной сети, но это единичные сообщения. Посмотрите еще раз на условие в ProductView.php, может быть отличается и правило не срабатывает. У меня 2 файла ProductView.php, один из них в папке ajax, но изменено только в папке view, работает. Quote Link to post Share on other sites
Gennady Posted April 2, 2017 Report Share Posted April 2, 2017 У меня только по "http" условие, пока помогает. Хотя для ботов других вариантов и не вижу, у них цель загадить все ссылками. Изредка присылают интим-спам с именем и фамилией в социальной сети, но это единичные сообщения. Посмотрите еще раз на условие в ProductView.php, может быть отличается и правило не срабатывает. У меня 2 файла ProductView.php, один из них в папке ajax, но изменено только в папке view, работает.Вдогонку, просто не сразу обратил внимание: Да, Ваш вариант работает отлично, но только для коментов в продуктах, а вот в блоге все пролезает. Соответственно, видимо, надо внести изменения еще и в файл отвечающий за проверку формы в блоге. Вопрос (не хочу забирать ваши лавры): так что же это за файл? Quote Link to post Share on other sites
Julia-sk Posted April 2, 2017 Report Share Posted April 2, 2017 На нашем сайте нет комментариев в блоге (доработанная под наш ИМ версия 2.2.4), не подскажу. Quote Link to post Share on other sites
Gennady Posted April 3, 2017 Report Share Posted April 3, 2017 На нашем сайте нет комментариев в блоге (доработанная под наш ИМ версия 2.2.4), не подскажу.ОК. Тогда я )Итак. В файлах ProductView.php (комментарии к продуктам) и в BlogView.php (комментарии в блоге) добавляем к строке elseif ((empty($comment->text)) следующую конструкцию: OR (!stristr($comment->text, 'http') === FALSE)) Получается: elseif ((empty($comment->text)) OR (!stristr($comment->text, 'http') === FALSE)) Собственно как и описано у Julia-skЭто полностью решило проблемы с спам-ботами. Даже скучно стало Quote Link to post Share on other sites
PDM Posted April 6, 2017 Report Share Posted April 6, 2017 Спасибо. Наконец то прекратился спам. Quote Link to post Share on other sites
Gennady Posted May 1, 2017 Report Share Posted May 1, 2017 Спасибо. Наконец то прекратился спам.Ага... Только теперь еще и "зарегистрированных пользователей" сотни... ( Quote Link to post Share on other sites
Noxter Posted May 1, 2017 Report Share Posted May 1, 2017 Ага... Только теперь еще и "зарегистрированных пользователей" сотни... (Также советую добавить гугл капчу форму регистрации. Quote Link to post Share on other sites
Gennady Posted May 27, 2017 Report Share Posted May 27, 2017 В 2.3.8. перестала работать данная конструкция (( Пишет: Parse error: syntax error, unexpected 'elseif' (T_ELSEIF) Quote Link to post Share on other sites
Vitalya Posted May 27, 2017 Report Share Posted May 27, 2017 да и на 2.3.3 не работает Quote Link to post Share on other sites
Gennady Posted May 27, 2017 Report Share Posted May 27, 2017 Нет, извиняюсь. Работает. Просто внимательнее надо. Буква в букву, знак в знак! elseif ((empty($comment->text)) OR (!stristr($comment->text, 'http') === FALSE)) Quote Link to post Share on other sites
Профессор Posted May 31, 2017 Report Share Posted May 31, 2017 Однако ошибка в синтаксисе... скобки неправильно расставлены. Quote Link to post Share on other sites
Julia-sk Posted May 31, 2017 Report Share Posted May 31, 2017 Вчера пришло на почту через форму обратной связи сайта:Рассылка ваших коммерческих предложений по формам обратной связи сайтоворганизаций России.Рассылки по формам ваших коммерческих предложений вразделы контакты сайтов организаций по любым странам и доменным зонам мира.Коммерческое предложение приходит на контактный емаил учреждения сто % впапку inbox!Спам-фильтр не обошло, но все же, пока одно пришло. Пугают масштабы:Хит продаж! Организации и Предприятия РФ - 3012045 контакт-формПридется еще и форме обратной связи ссылки запрещать с примечанием для "живых" посетителей, что ссылки запрещены. Спам через комментарии сначала приходил по 1-2 сообщению в день, а через месяц по нарастающей до 20-30 в день. Quote Link to post Share on other sites
Julia-sk Posted August 7, 2017 Report Share Posted August 7, 2017 В последнее время опять начал сыпаться СПАМ, html в тексте не указывают. Причем, сыплется в основном в комментарий к одному товару, видимо, ссылка в базе у рассыльщиков.Изменила правило, пока работает. Теперь так: //антиспам elseif ((empty($comment->text)) OR (!stristr($comment->text, 'http') === FALSE) OR (!stristr($comment->text, '.ly') === FALSE) OR (!stristr($comment->text, 'SEO') === FALSE) OR (!stristr($comment->text, '$$') === FALSE) OR (!stristr($comment->text, 'url') === FALSE) OR (!stristr($comment->text, '<a') === FALSE) OR (!stristr($comment->text, '.com') === FALSE) OR (!stristr($comment->text, '.ru') === FALSE) OR (!stristr($comment->text, 'forum') === FALSE) OR (!stristr($comment->text, 'copy') === FALSE) ) { $this->design->assign('error', 'empty_comment'); } // end антиспам Quote Link to post Share on other sites
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.