Как я могу создать систему входа в систему, которая принимает только двух человек с сессиями в PHP? - PullRequest
0 голосов
/ 24 апреля 2019

Как я могу создать систему входа в систему, в которой могут участвовать только два человека с сеансами в PHP?

Я хочу создать систему входа, в которую смогут войти только два пользователя. Я действительно не хочу использовать базы данных по своим собственным причинам. Реальная проблема заключается в том, что на сайте есть несколько входов в систему, и если вы входите в систему с другой учетной записью в другой части сайта и заходите сюда в «Панель администратора» администратора Панель откроется и позволит любому пользователю создавать новых пользователей с правами администратора.

Мой код:

index.php

<?php
session_start(); 

define('DS',  TRUE);
define('USERNAME', $_SESSION['username']);
define('SELF',  $_SERVER['PHP_SELF'] );

$userx = $_SESSION['username'];

if (!USERNAME or isset($_GET['logout']))
 include('login/login.php');
?>
<!DOCTYPE html>
<html>
  <head>
        <meta name="viewport" content="width=device-width, initial-scale=1">
        <title>ADMIN PANEL</title>
        <meta name="author" content="INTmAker" />
        <meta name="author" content="Leonx">
        <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.4/jquery.min.js"></script>
  </head>
  <body>
      You are logged in as <?php echo($userx); ?>&nbsp|&nbsp<a href="?logout=1">Logout</a>
        <br>
        <?php
          if($userx != "Leonx" || $userx != "INT"){
             echo 'You are not an Admin.';
             return false;
          } else {
              echo '        <div>
                <input type="text" id="username" name="username" placeholder="Username" value=""/>
                <input type="password" id="password" name="password" placeholder="Password" value=""/>
                <input type="submit" id="postform" onclick="post()" value="Submit">
                </div>
                &nbsp;&nbsp;&nbsp;&nbsp;
                <input type="checkbox" onclick="admin()">Admin access?
                &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
                &nbsp;&nbsp;&nbsp;
                <input type="checkbox" onclick="password()">Pokaži lozinku';
          }
        ?>

        <script>
            function post() {
                var username = $('#username').val();
                var password = $('#password').val();

                $.post('multipass.php', {postuser:username, postpass:password},
                  function(data)
                  { 
                           alert("Uspjesno dodan korisnik!");
                  });
            }
            function post2() {
                var username = $('#username').val();
                var password = $('#password').val();

                $.post('adminpass.php', {postuser:username, postpass:password},
                  function(data)
                  { 
                            alert("Uspjesno dodan admin!");
                  });
            }           
        function password() {
            var x = document.getElementById("password");
        if (x.type === "password") {
            x.type = "text";
        } else {
            x.type = "password";
        }
      }
      function admin(){
          document.getElementById('postform').setAttribute('onclick','post2()');
      }
</script>
  </body>
</html>

login.php

<?php defined('DS') OR die('No direct access allowed.');

include('users.php');

if(isset($_GET['logout'])) {
    $_SESSION['username'] = '';
    header('Location:  ' . $_SERVER['PHP_SELF']);
}

if(isset($_POST['username'])) {
    if($users[$_POST['username']] !== NULL && $users[$_POST['username']] == $_POST['password']) {
  $_SESSION['username'] = $_POST['username'];
  header('Location:  ' . $_SERVER['PHP_SELF']);
    }else {
        //invalid login
  echo "<p>Korisničko ime ili lozinka su krivi!</p>";
    }
}

echo '<!DOCTYPE html>
<html>
<head>
  <title>EDITOR LOGIN</title>
  <link rel="stylesheet" type="text/css" href="login/style.css">
</head>
<body>
  <div class="header">
    <h2>Admin</h2>
  </div>

  <form method="post" action="'.SELF.'">
    <div class="input-group">
            <label for="username">Korisničko ime</label> <input type="text" id="username" name="username" value=""/>
    </div>
    <div class="input-group">
            <label for="password">Lozinka</label> <input type="password" id="password" name="password" value="" />
    </div>
            <input type="submit" class="btn" name="submit" value="Login" class="button"/>
  </form>
</body>
</html>';
exit; 
?>

Мое ожидание : Если вошедшее в систему имя пользователя не Leonx или INT, то я бы хотел, чтобы пользователь просто получил сообщение «Вы не администратор». и если имя пользователя - Leonx или INT, то я бы хотел, чтобы отображались поля ввода from.

1 Ответ

0 голосов
/ 24 апреля 2019

если вам нужен только Leonx или INT.замените ваш фильтр следующим образом

if($userx != "Leonx" AND $userx != "INT")

вам просто нужно заменить || на AND

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...