Зона входа для 2 администраторов - PullRequest
0 голосов
/ 30 июля 2011

Я и мой друг разрабатываем какой-то сайт, и нам нужна пользовательская панель администратора, где оба могут войти.

     $username=array();
            $pass=array();
            $username[0]='user1';
            $username[1]='user2';
            $pass[0]='pass1';
            $pass[1]='pass2';

            if (isset($_POST['password']) && isset($_POST['userName'])) {
if($_POST['password']==$pass[0] && $_POST['userName']==$username[0]
|| $_POST['password']==$pass[1] && $_POST['userName']==$username[1])
                {
                    if (!session_id())
                      session_start();
                      $_SESSION['logon'] = true;
                      $_SESSION['userName'] = $userName;
                      header( 'Location: admin.php' );
                      die();
                }
            }

Я уверен, что есть какой-то лучший способ входа в систему для 2 человек, и является ли этот код безопасным и достаточным для входа администратора? Я не хочу помещать 4 переменные в базу данных, поэтому стоит ли помещать эти переменные в текстовый файл вне localhost / server и использовать include? Спасибо.

Ответы [ 2 ]

1 голос
/ 30 июля 2011

Просто сохраните имена пользователей и пароли в массиве следующим образом:

$users = array( 'user1' => 'pass1', 'user2' => 'pass2' );
if( array_key_exists( $_POST['userName'], $users ) )
{
   if( $users[$_POST['userName']] == $_POST['password'] )
   {
       // Username and password correct
   }
   else
   {
      // Password incorrect
   }
}
else
{
    // Username incorrect
}

Однако я бы сохранил эти вещи в базе данных.

1 голос
/ 30 июля 2011

Если вы беспокоитесь о безопасности, то вам не следует вводить пароль в виде простого текста в исходном или внешнем файле.Лучшим подходом будет хеширование пароля и сохранение в базе данных.

...