Доброй ночи, Гость! Представляем Вам наши форумы. Вы можете зарегистрироваться чтобы писать на форумах или зайдите под своим именем, если Вы уже регистрировались.
   
   


Форум
 SX CMS / Техническая помощь
         Спам в гостевой книге(((

Похожие темы

Спам в гостевой книге(((


События Вторник, 07.02.2017, 12:33

Darid

Группа: Пользователь
Ранг: Продвинутый
Cообщений: 176
Регистрация: 17.11.2009
Город: minsk
Задолбался чистить спам в админке от гостевой книги. Уже установил блок антибот. Не помогает.. Капча стоит.. не помогает. Как они обходят защиту ума не приложу... Может подскажет кто как избавиться от спамеров в гостевухе? Или проверку какую сделать на запрет ввода урлов в полях формы?

Версия системы: Status-X 1.04

Пользователь офлайн
События Вторник, 07.02.2017, 13:54

SX

Группа: Администратор
Cообщений: 3016
Регистрация: 23.10.2009
Обходят очень легко, сервисы типа антигейт и рукаптча. Даже установка рекапчи не поможет. Человек разгадывает.
Антибот мало помагает, софт умнее спамерский стал, жабаскрипт поддерживает, антибот палил тех у кого его нет, обычно боты.
Здесь на сайте убрал возможность писать в гостевуху гостям, в стандартной сборке этого нет, в 1.05 добавил, но некогда выгрузить архив


Пользователь офлайн
События Среда, 08.02.2017, 12:49

Darid

Автор текущей темы
Группа: Пользователь
Ранг: Продвинутый
Cообщений: 176
Регистрация: 17.11.2009
Город: minsk
Тогда более конкретный вопрос.

В гостевой книге я использую поле формы

<input class="input" style="width:200px" name="Webseite" type="text" value="{$smarty.post.Webseite|default:''|sysspecialchars}" id="c_w" />

в качестве заголовка для сообщения.


Спамеры кидая коменты в этом поле оставляют ссылки типа http://....

Так вот.. как мне сделать проверку... что если при добавлении в базу нового коментария в этом поле есть "http://" то запись в базу не добавлять.

В базе данных это столбец Autor_Web таблицы _kommentare.

Где эту проверку сделать и какой именно синтаксис?

Отредактировано Darid Petrov (Darid): 08.02.2017, 12:50:12

Добавлено Darid Petrov (Darid): 08.02.2017, 12:49:01





Отвечаю сам себе.

В файле class.Comments.php

в public function NewComment делаем проверку на символы / и еще несколько символов которые могут быть в ссылке:

PHP-код
if (preg_match('#[\\\\\\/\\|\\*\\<>:]#'$_POST['Webseite'])) {
                         
header('location:http://www.ваш-сайт.ru/guestbook/1/');
                                                                         } else {


Всё... теперь буду ждать спамеров).
Пользователь офлайн
События Среда, 08.02.2017, 14:29

SX

Группа: Администратор
Cообщений: 3016
Регистрация: 23.10.2009
Не понятное решение. Это поле как раз для вставки урлов, если не нужно, то просто комментим в шаблоне. Спамеры чаще урлы суют в само сообщение, вот в нем и проверять на ссылку.
И регулярка ужасная, где то скопипастили, думаю она так должна выглядеть '#[\\\/\|\*<>:]#', хотя в квадратных кавычках можно все символы экранировать '#[\\\/\|\*\<\>\:]#'


Пользователь офлайн
События Среда, 08.02.2017, 15:17

Darid

Автор текущей темы
Группа: Пользователь
Ранг: Продвинутый
Cообщений: 176
Регистрация: 17.11.2009
Город: minsk
Да, поле поумолчанию для урлов.. но я его приспособил под "Тема сообщения".

Применил ваш вариант '#[\\\/\|\*\<\>\:]#'. Спасибо.
Пользователь офлайн


Похожие темы  |   Предыдущая тема  |   Следующая тема

Быстрый переход:  
 

 Сейчас на сайте

Пользователей: 0, Гостей: 6

Поисковые боты: 178
oBot(11), Bot(159), Googlebot(3), Crawler, BingBot(4)
 Статистика форума

  Темы Сообщения Пользователи
За сутки:
За неделю:
За месяц:
Всего:
Мы приветствуем нового участника: dota812651
 Дни рождения

Исида Египетская (61), yura261296 (28)
Copyright © 2009 - 2024 SX All rights reserved | Powered by SX CMS 1.06 UTF | Контакты