Все для DataLife Engine / DLE хаки / Хак для DLE / Хак - модуль Вопрос-Ответ с картинкой для DLE

Хак - модуль Вопрос-Ответ с картинкой для DLE


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

Какого особенность и отличие от стандартного варианта? Первое, что стоить ответить простата установки и минимальность правок стандартных файлов dle. Вторая особенность, возможность вставлять картинку через специальный тег, который понимает как локально-добавленные картинки так и картинки по ссылке с других ресурсов.

Установка Хак - модуль Вопрос-Ответ с картинкой для DLE
1. Файл: /engine/modules/functions.php
Найти:
if( ! defined( 'DATALIFEENGINE' ) ) {
    die( "Hacking attempt!" );
}


Добавить ниже:

function question_img($i) {
    $img = ( substr($i[1], 0, 4)=="http" ) ? $i[1] : "/uploads/question/{$i[1]}";
    return "<br><img src=\"{$img}\" />";
}


2. Файл: /engine/modules/register.php
Найти:
$tpl->set( '{question}', htmlspecialchars( stripslashes( $question['question'] ), ENT_QUOTES ) );


или:
$tpl->set( '{question}', htmlspecialchars( stripslashes( $question['question'] ), ENT_QUOTES, $config['charset'] ) );


Заменить на:

            $question['question'] = preg_replace_callback( "#\[img=(.+?)\]#is", "question_img", $question['question'] );
            $tpl->set( '{question}', stripslashes( $question['question'] ) );


3. Файл: /engine/modules/show.full.php
Найти:
$tpl->set( '{question}', "<span id=\"dle-question\">".htmlspecialchars( stripslashes( $question['question'] ), ENT_QUOTES )."</span>" );


или:
$tpl->set( '{question}', "<span id=\"dle-question\">".htmlspecialchars( stripslashes( $question['question'] ), ENT_QUOTES, $config['charset'] )."</span>" );


Заменить на:

            $question['question'] = preg_replace_callback( "#\[img=(.+?)\]#is", "question_img", $question['question'] );
            $tpl->set( '{question}', "<span id=\"dle-question\">".stripslashes( $question['question'] )."</span>" );

4. Создать каталог: /uploads/question
Поместить в него картинки, например: 1.jpg
Пример вопроса:
Что изображено на картинке? [img=1.jpg]

В engine/modules/register.php
$tpl->set( '{question}', htmlspecialchars( stripslashes( $question['question'] ), ENT_QUOTES ) );


Заменить на:
$tpl->set( '{question}', stripslashes( $question['question'] ) );


и в engine/inc/question.php 2 раза заменить
$question = $db->safesql( strip_tags($_POST['question']) );


на

$question = $db->safesql( strip_tags($_POST['question'], '<img>') );


В дополнительном вопросе теперь можно использовать тег
<img />
...
Что на картинке, и.т.п.

ЗЫ!
Когда уже в комментах кнопка кода появится!

Автор: MSW 0-web ru
Версия DLE: 9.4 и выше

Ознакомится с DLE хак - модуль Вопрос-Ответ с картинкой установка в текстовом файле

DLE-9.4-9.7-Question-Img-v1.0.rar [53,08 Kb] (cкачиваний: 109)
  • 80

Комментарии 2

dle9.com от 15 июля 2013 15:32
Цитата: roosei
где прописывать дополнительный вопрос? в админпенели где есть доп.вопрос от спама?

да
и куда ставить тег img?

в вопрос в админ панели движка модуля доп. вопроса
и еще, после установки хака я пробовал зарегистрироваться для проверки и у меня вышло следующее: PHP Mail Error. что не так в хаке?

проблема может быть связана с версий движка, на какую ставите
roosei от 15 июля 2013 14:56
где прописывать дополнительный вопрос? в админпенели где есть доп.вопрос от спама? и куда ставить тег img? и еще, после установки хака я пробовал зарегистрироваться для проверки и у меня вышло следующее: PHP Mail Error. что не так в хаке?
Добавить комментарий

Оставить комментарий

    • bowtiesmilelaughingblushsmileyrelaxedsmirk
      heart_eyeskissing_heartkissing_closed_eyesflushedrelievedsatisfiedgrin
      winkstuck_out_tongue_winking_eyestuck_out_tongue_closed_eyesgrinningkissingstuck_out_tonguesleeping
      worriedfrowninganguishedopen_mouthgrimacingconfusedhushed
      expressionlessunamusedsweat_smilesweatdisappointed_relievedwearypensive
      disappointedconfoundedfearfulcold_sweatperseverecrysob
      joyastonishedscreamtired_faceangryragetriumph
      sleepyyummasksunglassesdizzy_faceimpsmiling_imp
      neutral_faceno_mouthinnocent