Просмотр сайта как член одной из группы

Просмотр сайта как член одной из группы

Как видят содержимое сайта пользователи группы, например Посетители? Это легко узнать установив этот хак. Он позволит оперативно менять Группу пользователей, что удобно при настройке и тестировании сайта на CMS DLE.
 
Установка:
1. Создать файл engine/modules/group.php содержания:
<?php
if( ! defined( 'DATALIFEENGINE' ) ) {
    die( "Hacking attempt!" );
}

    if($member_id['user_group']==1 or $_SESSION['newgroup'])
    {
        $groups = $db->query("select * from " . PREFIX . "_usergroups");
        $html_ = "<form method='post' actiuon=''><select name='newgroup'>";
        while( $val = $db->get_row($groups) ){
            if($member_id['user_group']==$val['id'])
            $h_=" selected";
            else
            $h_="";
            $html_ .= "<option value={$val['id']}{$h_}>{$val['group_name']}</option>";
        }

        $html_ .= "</select> <input type=\"submit\" value=\"ок\"></form>";

    }else
    $html_ = "Нет прав!";
    $tpl->load_template( 'group.tpl' );
    $tpl->set("%LIST%", $html_);
    $tpl->compile( 'content' );
    $tpl->clear();

?>

2. Создать шаблон group.tpl содержания:
%LIST%

3. Открыть файл engine/modules/sitelogin.php и в самом низу найти:
?>

Добавить выше:
if($member_id['user_group']==1 )
{
    if($_POST['newgroup'])
    $member_id['user_group'] = intval($_POST['newgroup']);
    elseif( $_COOKIE['newgroup'] )
    $member_id['user_group'] = intval($_COOKIE['newgroup']);
    elseif( $_SESSION['newgroup'] )
    $member_id['user_group'] = intval( $_SESSION['newgroup'] );
    if($member_id['user_group']==5) $is_logged = false;
    $_COOKIE['newgroup'] = $member_id['user_group'];
    $_SESSION['newgroup'] = $member_id['user_group'];
}

4. Открыть engine/inc/include/functions.inc.php и найти:
    if( $result ) {

        if( !allowed_ip( $row['allowed_ip'] ) ) {

            $member_id = array ();
            $result = false;
            set_cookie( "dle_user_id", "", 0 );
            set_cookie( "dle_name", "", 0 );
            set_cookie( "dle_password", "", 0 );
            set_cookie( "dle_hash", "", 0 );
            @session_destroy();
            @session_unset();
            set_cookie( session_name(), "", 0 );

            msg( "info", $lang['index_msge'], $lang['ip_block'] );

        }
    }

Добавить ниже:
if($member_id['user_group']==1 )
{
    if($_POST['newgroup'])
    $member_id['user_group'] = intval($_POST['newgroup']);
    elseif( $_COOKIE['newgroup'] )
    $member_id['user_group'] = intval($_COOKIE['newgroup']);
    elseif( $_SESSION['newgroup'] )
    $member_id['user_group'] = intval( $_SESSION['newgroup'] );
    if($member_id['user_group']==5) $is_logged = false;
    $_COOKIE['newgroup'] = $member_id['user_group'];
    $_SESSION['newgroup'] = $member_id['user_group'];
}

5. Открыть engine/engine.php и найти:
switch ( $do ) {

Добавить ниже:
    case "group" :
        include ENGINE_DIR . '/modules/group.php';
		break;

6. Переходим по ссылке сайт.ру/index.php?do=group и меняем группу.

Готово!

Скачать: файл могут только зарегистрированные посетители.
 
Версия DLE: 9.х-13.х
 

Статью отредактировал: Oxigen - 29-04-2019, 08:09
Причина: Добавлен плагин для DLE версии 13.x

  • Oxigen
  • 0
  • 244
Информация
Оставлять комментарии могут только зарегистрированные посетители.
  • Рейтинг@Mail.ru
  • Яндекс.Метрика