Сделать стартовойДобавить в закладки  
Главная страничка Главная страничка
В номере:

Выходит с 17 июля 2008 г. цена договорная

Опрос

конечно, он настанет в 2012 г.
да, но не в 2012 г.
нет, это фантастика
а что такое конец света
а мне пофиг - я буду уже мертв



Календарь
«    Апрель 2011    »
ПнВтСрЧтПтСбВс
 123
45678910
11121314151617
18192021222324
252627282930 

Архив новостей
Май 2019 (2)
Март 2019 (1)
Январь 2019 (1)
Декабрь 2018 (1)
Ноябрь 2018 (3)
Октябрь 2018 (2)

Информация
DLE хаки: Защита комментариев от спама методом подмены полей имя и e-mail формы добавления комментария
Web » CMS » DLE
автор: dimon, опубликовано: 29 апреля 2011

Попробуем защитить свой сайт на DLE от спам каментов рассылаемых с помощью различных программ путем подмены полей имя и e-mail.

Прежде всего открываем файл шаблона www\templates\{ваш_шаблон}\addcomments.tpl и ищем поля формы:

[not-logged]
            <tr>
                <td class="label">
                    Имя:<span class="impot">*</span>
                </td>
                <td><input type="text" name="name" id="name" class="f_input" /></td>
            </tr>
            <tr>
                <td class="label">
                    E-Mail:<span class="impot">*</span>
                </td>
                <td><input type="text" name="mail" id="mail" class="f_input" /></td>
            </tr>
[/not-logged]


и заменяем name="name" id="name" на name="secretname" id="secretname", а name="mail" id="mail" на name="secretname" id="secretname":

[not-logged]
            <tr>
                <td class="label">
                    Имя:<span class="impot">*</span>
                </td>
                <td><input type="text" name="secretname" id="secretname" class="f_input" /></td>
            </tr>
            <tr>
                <td class="label">
                    E-Mail:<span class="impot">*</span>
                </td>
                <td><input type="text" name="secretmail" id="secretmail" class="f_input" /></td>
            </tr>
[/not-logged]


Теперь идем открываем файл который выполняет обработку этой формы www\engine\modules\addcomments.php и в нем меняем:

$name = $db->safesql( $parse->process( trim( $_POST['name'] ) ) );
$mail = $db->safesql( $parse->process( trim( $_POST['mail'] ) ) );


на

$name = $db->safesql( $parse->process( trim( $_POST['secretname'] ) ) );
$mail = $db->safesql( $parse->process( trim( $_POST['secretmail'] ) ) );


PS: Лучше вместо secretname и secretmail вообще использовать какие-нибудь бессмысленные значения типа a2jv15dsf.

PSS: Если спамеру будет "не влом" посмотреть код странички, то он запросто заметит подмену полей. Однако, больше вероятность, что он просто найдет другой сайт.

PSSS: Код приведен для версии 9.2, но, думаю, для других версий все аналогично.

 
Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь. Чтобы Вам были доступны все функции Вам необходимо либо зарегистрироваться, либо зайти на сайт под своим именем.

Другие новости по теме:

  • DLE: Как создать модуль или как я делал дополнительную форму обратной связи
  • Настройка DNS (BIND)
  • DLE хаки: Изменение количества новостей отображаемых в topnews
  • DLE хаки: Запрет на добавления ссылок в поле "О себе" профиля
  • DLE хаки: Запрет на добавления ссылок в комментариях


  • Комментарии:

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

    #1 написал: maksov (29 апреля 2011 20:46)
    У меня чего-то не получается(( версия 9.0

    В шаблоне:
    Заменил имя - name="xjfhfdgj" id="xjfhfdgj"
    Заменил емаил - name="sfklkgdf" id="sfklkgdf"

    В файле engine/modules/addcomments.php
    $name = $db->safesql( $parse->process( trim( $_POST['xjfhfdgj'] ) ) );
    $mail = $db->safesql( $parse->process( trim( $_POST['sfklkgdf'] ) ) );

    Чищу кешь, выхожу из аккаунта, пишу коммент как гость и тишина... только название - Загрузка. Пожалуйста, подождите...

    Может там нужно ещё чего заменить? или может просто поле id= не менять? или я туплю?))
    #2 написал: dimon (4 мая 2011 08:29)
    maksov, а у тебя файлы addcomments.php и addcomments.tpl стандартные? может ты уже какую-то защиту ставил...
    проверил - на 9.0 все работает. указывал твои xjfhfdgj и sfklkgdf
    нужно менять и name, и id - причем они должны быть одинаковы
    #3 написал: male Кузя Капусткин (27 мая 2012 20:54)
    Добрый день) А можно таким же образом подменить название поля {title}, то есть заголовка новости?
    Точнее я хочу сделать два равноправных поля для заголовка — один заголовок для краткой новости {shorttitle}, а другой заголовок — для полной {title}.
    Понимаю, что это с легкостью можно сделать с помощью дополнительных полей, но что-то дополнительное поле не получается подсунуть в rss и поиску в качестве заголовка новости, на и вообще чтобы при необходимости подсовывать shorttitle куда только вздумается вместо заголовка.

    #4 написал: dimon (28 мая 2012 09:30)
    male Кузя Капусткин, по-моему лучше сделать с дополнительным полем.
    потому что пока не предусмотрено такого функционала - придется создавать в таблице еще одну колонку, потом во всех шаблонах править чтобы в нее писалась shorttitle, в движке тоже ковыряться чтобы из шаблона в эту ячейку писалось, поиск ковырять чтобы он в ней искал.. намного более трудоемко чем прикрутить rss и поиск к доп.полям


     
    Информация
     
    Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.


    Поиск по сайту:


    Облако тегов
    Android, Arduino, backup, CentOS, cmd, css, div, DLE, DLE хаки, domoticz, dzvents, LCD, Linux, log, LUA, Monster, ogf3, RDP, Template, VBS, w2k8, windows, WSH, бумага, бумажный самолетик, верстка, иструкция, Карты, кино, Навигация, оригами, программа, рецензия, рецепт, скрипт, фигуры, шаблон, Яндекс, яндекс-карты

    Показать все теги
    Реклама
    раскрутка сайта бесплатно
    Главная страница | Регистрация | Добавить новость | Новое на сайте | Статистика | Поддержка | Правила ресурса Copyright © 2005-2018 by dimon - all right reserved!
    Тираж:       Счетчик тИЦ и PR     экземпляров.   Дизайн, верстка by dimon