За последние 24 часа нас посетили 22546 программистов и 1033 робота. Сейчас ищут 654 программиста ...

php как в скрипте (CONFIG) добавить пользователя

Тема в разделе "PHP для новичков", создана пользователем sherxan-g, 8 сен 2021.

Метки:
  1. sherxan-g

    sherxan-g Активный пользователь

    С нами с:
    11 июн 2018
    Сообщения:
    35
    Симпатии:
    0
    Уважаемые Программисты помогите пожалуйста. как в скрипте (CONFIG) добавить кроме пользователя (test) ещё один пользователя. Заранее большое вам Спасибо.
    PHP:
    1. #CONFIG
    2. define('CAN_RUN', 1 );
    3. define('ROOT_DIR', @getcwd() . '/' );
    4. define('ADMIN_NAME', 'test');
    5. define('ADMIN_HASH', md5('test'));
    6. define('USER_AGENT', 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:15.0) Gecko/20120427 Firefox/15.0a1');
    7. define('CHECK_BEFORE', false);
    8. define('MODE', 'FULL');
    9. define('DB_FILE', 'db.php' );
    10. define('DEBUG', false );
    11. if(DEBUG)
    12.     error_reporting(E_ALL);
    13. else
    14. @date_default_timezone_set('Europe/Moscow');
    15. function stripslashes_array($array) {
    16.     return is_array($array) ? array_map('stripslashes_array', $array) : stripslashes($array);
    17. }
    18.     $_POST = stripslashes_array($_POST);
    19. if( ($_SERVER['REQUEST_METHOD'] == 'POST') && !empty($_SERVER['HTTP_REFERER']) )
    20.     if(!preg_match('!^http(s)?://' . preg_quote($_SERVER['HTTP_HOST']) . '!i', @$_SERVER['HTTP_REFERER']))
    21.         die('Referer check error');
    22. if(!empty($_POST['login']) && !empty($_POST['pass'])) {
    23.     $_SESSION['login'] = $_POST['login'];
    24.     $_SESSION['hash'] = md5($_POST['pass']);
    25. }
    26. if( (basename($_SERVER['REQUEST_URI']) != "login.php") && ((@$_SESSION['login'] != ADMIN_NAME) || (@$_SESSION['hash'] != ADMIN_HASH)) ) {
    27.     header('Location: login.php');
    28.     exit;
    29. }
     
  2. Drunkenmunky

    Drunkenmunky Активный пользователь

    С нами с:
    12 авг 2020
    Сообщения:
    1.476
    Симпатии:
    281
    Так не получится.
    Можно только заменить на другого.
    А чтобы пользователей было больше, чем один, нужно переделывать всё, где используется ADMIN_NAME и ADMIN_HASH
     
  3. ADSoft

    ADSoft Старожил

    С нами с:
    12 мар 2007
    Сообщения:
    3.822
    Симпатии:
    736
    Адрес:
    Татарстан
    да получится.. только смысла в этом нет особого
    ...
    вместо define('ADMIN_NAME', 'test'); вставляем
    PHP:
    1. $admins = ['test' => md5('test'), 'admin' => md5('admin']
    а в проверке проверять - есть ли переданный логин в этом массиве, если есть - то совпадают ли хеши.....
    но в целом предыдущий ТС прав - тут надо все переделывать, ибо сделано через одно место...
    - в сессии надо писать только после успешной авторизации, а не всегда когда хоть что-то передано
    - подавлять ошибки через @ - дурной тон, используйте проверки isset, empty
     
    sherxan-g нравится это.