После установки дает возможность изменять пароль от админ панели внутри нее.


Функционал немного противоречит логике, но работает без ошибок и полностью безопасен.


Предназначен для одного созданного пользователя в admin_users.php (не критично), как показывает практика, все используют только одного пользователя, так как при создании нескольких пользователей права все равно для всех одинаковы.


Смена пароля через админку




Смена пароля через админку




Установка:


1. В папке admin создаем файл под названием password.php и содержанием:

<?php  
include("check_session.php");
include("../inc_common.php");

/*

Skriptoff (с) Mvoc.ru
Изменение пароля через админку
2014

*/

$status = FALSE;

if (isset($_POST['nickname']) && isset($_POST['password']))
{
    $nickname = strip_tags(trim($_POST['nickname']));
    $password = strip_tags(trim($_POST['password']));

    if (strlen($nickname) && strlen($password))
    {
        $insert = '';
        $insert .= "<?php\n\n";
        $insert .= "/*\n\nChanged with admin/password.php\n\n*/\n\n";
        $insert .= '$admin_users[0]["nickname"] = \'' . $nickname . "';\n";
        $insert .= '$admin_users[0]["password"] = \'' . $password . "';\n";
        $insert .= "\n?>";

        $file = $file_path.'admin/admin_users.php';

        $fp = fopen($file, "w");
        flock($fp, LOCK_EX);
        $fw = fwrite($fp, $insert);
        flock($fp, LOCK_UN);
        $fc = fclose($fp);

        $status = TRUE;
    }
}

include_once ("admin_users.php");

?> 
<html>
<head>
    <title>Антиреклама</title>
    <style>/* Код скопирован с https://mvoc.ru/post/3 */
        body, table, td, textarea {
            font-family:tahoma, arial, verdana, sans-serif, 'Lucida Sans';
            font-size:14px;
            background:#f7f7f7;
        }
        input {
            padding:4px 10px;
            border-radius:3px;
            border:1px solid #ccc;
            outline:none;
            background:#fff;
        }
        input[type="text"]:focus, input[type="password"]:focus, textarea:focus, select:focus {
            box-shadow:0 0 4px #0069ab;
            -moz-box-shadow:0 0 4px #0069ab;
            -webkit-box-shadow:0 0 4px #0069ab;
            border: 1px solid #0069ab;
        }
        .title {
            text-align:center;
            padding:3px;
        }
        td {
            padding-right:8px;
        }
        .btn {
            margin-top:10px;
            background:#2b67a1;
            color:#fff;
            padding:5px 14px;
            -moz-box-shadow:inset 0px 1px 0px 0px #ffffff;
            -webkit-box-shadow:inset 0px 1px 0px 0px #ffffff;
            box-shadow:inset 0px 1px 0px 0px #ffffff;
            border:1px solid #214e7a;
            border-radius:3px;
            text-shadow:1px 1px 1px #214e7a;
            font-weight:bold;
        }
        .btn:hover {
            background:#3277ba;
        }
        .status {
            padding:10px 20px;
            background:#effeb9;
            margin:10px 0;
            border:1px solid rgb(193, 215, 121);
            color:rgb(60, 90, 1);
            border-radius:3px;
        }
        .copy {
            color:#bbb;
            text-align:center;
            margin-top:20px;
            border-top:1px solid #eee;
            padding:5px;
            font-size:11px;
            text-shadow:1px 1px 1px #fff;
        }
        .copy a {
            color:#b0b0b0;
        }
        #domains {
            margin-bottom:10px;
        }
        input[type="text"], select {
            min-width:250px;
        }
        .center-form {
            text-align:center;
        }
    </style>
</head>
<body>
    <h2 class="title">Изменить пароль</h2>
    <?php if ($status): ?>
    <div class="status">Сохранено!</div>
    <?php endif; ?>
    
    <form action='password.php' method='post' class="center-form">
        <input type="hidden" name="session" value="<?php echo $session; ?>" />
        <table align="center">
            <tr>
                <td align='right'>Логин: </td>
                <td><input type="text" name="nickname" value='<?=$admin_users[0]["nickname"];?>'/></td>
            </tr>
            <tr>
                <td align='right'>Пароль: </td>
                <td><input type="text" name="password" value='<?=$admin_users[0]["password"];?>'/></td>
            </tr>
        </table>
        <p>
            <button class="btn">Сохранить</button>
        </p>
    </form> 
    
    <div class="copy">Skriptoff © <a href="http://mvoc.ru/">Mvoc.ru</a>, 2014</div>
    <script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"></script>
    <script>
        $(document).ready(function() {
            $("button.btn").click(function() {
                var nickName = $("input[name='nickname']").val();
                var password = $("input[name='password']").val();
                
                if (nickName.length < 5) {
                    alert('Слишком короткий логин');
                    return false;
                }
                if (password.length < 5) {
                    alert('Слишком короткий пароль');
                    return false;
                }
                if (password == nickName) {
                    alert('Логин и пароль не могут быть одинаковыми');
                    return false;
                }
            });
        });
    </script>
</body>


2. В файле admin/navi.php

в удобное место, например перед (строка 27)
 <a href="mod_list.php?session=<?php echo $session;?>&lang=<?php echo $lang; ?>" target="admin_main" class=menu>[<?php echo $adm_moder_list;?>]</a><br>
   
вставить
<a href="password.php?step=6&sessi echo $session;?>&lang=<?php echo $lang; ?>" target="admin_main" class=menu>[Сменить пароль]</a><br> 


3. На файл admin/admin_users.php выставляем парава 0777

Готово! Заходим в админку и меняем пароль :)
Ниже прикрепил файл для удобства

Загрузка файлов доступна только для зарегистрированых пользователей.



Автор поста: ,
    Просмотров: 4202     Создан: 26 мар. 2014 в 16:23