3DM-студия
» » » Избавляемся от спама в обратной связи

Избавляемся от спама в обратной связи

Избавляемся от спама в обратной связи


Хак позволит избавиться от спама, рассылаемого через форму обратной связи в Dle. Расписывать много не буду , а в кратце опишу общее направление. Кому-то этого хватит, а кого-то может натолкнет написать полноценный модуль анти-спама.

Установка:
1. Регистрируемся на сервисе Akismet и получаем API ключ, который по сути бесплатный. Нас лишь просят оказать им финансовую, помощь размер которой устанавливаем мы сами, а это может быть и 0.

2. Дальше скачиваем библиотеку. Из неё нам пригодиться один файл Akismet.class.php, который находится по такому пути:
achingbrain-php5-akismet-0ded6a3.zip\achingbrain-php5-akismet-0ded6a3\src\main\php\net\achingbrain\Akismet.class.php


Где значение 0ded6a3 может быть любым другим. Копируем файл Akismet.class.php в папку движка /engine/classes/.

3. Открываем /engine/modules/feedback.php и сразу после:
if( ! defined( 'DATALIFEENGINE' ) ) {
    die( "Hacking attempt!" );
}

Вставляем:
require_once ENGINE_DIR . '/classes/Akismet.class.php';

4. Ищем, где у нас проходят валидацию POST запросы:
$subject = strip_tags( stripslashes( $_POST['subject'] ) );
$message = stripslashes( $_POST['message'] );
$recip = intval( $_POST['recip'] );

После этого вставляем:
$WordPressAPIKey = 'api-key';
$MyBlogURL = 'http://sait.ru/';
 
$akismet = new Akismet($MyBlogURL ,$WordPressAPIKey);
$akismet->setCommentAuthor($name);
$akismet->setCommentAuthorEmail($email);
$akismet->setCommentAuthorURL($subject);
$akismet->setCommentContent($message);
$akismet->setPermalink('http://sait.ru/');
 
if($akismet->isCommentSpam()){
 
  echo 'Akismet detected spam! Die fucking bot!';
  header("HTTP/1.1 804 Spam Detected");
    header ("location: http://sait.ru/");
  die();
}else{
   $message= $message;
}

Обращаем внимание на пометки api-key и sait.

Готово!

Для проверки работы хака, отлавливает спам или нет, можно вставить вместо:
echo 'Akismet detected spam! Die fucking bot!';
    header("HTTP/1.1 804 Spam Detected");
      header ("location: http://sait.ru/");
    die();

Cтроку:
$message= "Это сообщение спам! - ". $message;

Тогда сообщение содержащее спам не будет блокироваться, а будет приходить с пометкой - Это сообщение спам!

Соответственно по тому же принципу можно избавится от спама комментариев и тд и тп.

Версия DLE: 9.x


Скачивание доступно только для зарегистрированных
НАШИ НОВОСТИ
Опубликовано 04 апрель 2014
Представляю вашему вниманию шаблон онлайн кинотеатра с глубокой настройкой под свои нужны OST-ARENA.RU Читать далее...
Опубликовано 18 март 2014
Представляю вашему вниманию, адаптивный новостной шаблон Reades News. Адаптивный дизайн подразумевает, что шаблон будет одинаково корректно отображаться во всех устройствах. Шаблон отлично подойдет для медийных новостей и не только. Обязательно посмотрите видеозапись работы Читать далее...
Опубликовано 16 март 2014
Дизайн Zerotheme, адаптирован для DLE 10.1 by Yurets. Шаблон zBoomMusic позиционируется как шаблон для музыкального портала или музыкального блога. Вверху шаблона расположен слайдер, под слайдером Топ новостей, далее последние добавленные новости. Читать далее...