используя авторизованные данные пользователя на всех страницах - PullRequest
1 голос
/ 03 ноября 2011

я использую следующий пароль http://www.zubrag.com/scripts/password-protect.php

работает нормально, но когда я пытаюсь отобразить информацию о зарегистрированном пользователе, я могу сделать это только один раз, во время входа в систему. после этого, если я обновлю страницу, страница все еще доступна, но имя пользователя, вошедшего в систему, не отображается Может кто-то помочь мне с этим у меня есть следующий код в первой строке страниц, которые я хочу защитить

<?php require("/home/abcd/abcd/password_protect.php"); ?>

Я повторяю имя, используя

echo "Welcome $login";

Ответы [ 3 ]

1 голос
/ 03 ноября 2011

Сценарий в основном состоит в том, что у него есть предварительно инициализированный список логинов и паролей, хранящихся в массиве $LOGIN_INFORMATION.

$LOGIN_INFORMATION = array(
  'zubrag' => 'root',
  'test' => 'testpass',
  'admin' => 'passwd'
);

Теперь он принимает комбинацию логин / пароль от пользователя и совпадает с сохраненными значениями.По вашему вопросу вы хотите показать имя аутентифицированного пользователя.

Для этого вы можете использовать сеанс

. В начале страницы (Самая первая строка) напишите

`session_start();`

затем $_SESSION['username'] = $username // аутентифицированное имя пользователя

Теперь в начале каждой страницы, где вы хотите напечатать имя, напишите

session_start();

затем

echo $_SESSION['username'];

После того, как вы закончите и хотите выйти (или отменить сеанс), напишите

session_unregister('username');
0 голосов
/ 03 ноября 2011

в начале каждой страницы:

session_start();

при успешной аутентификации пользователя:

$_SESSION['keyname'] = 'value';

везде, где вам нужно получить к нему доступ:

echo $_SESSION['keyname']
0 голосов
/ 03 ноября 2011

Этот сценарий сохраняет хэш имени пользователя и пароля в файле cookie с именем verify:

setcookie("verify", md5($login.'%'.$pass), $timeout, '/');

Таким образом, вы не можете извлечь $login напрямую, однако вы можете перебирать возможности от $LOGIN_INFORMATION до тех пор, пока не найдете его:

$login = null;
$found = false;
foreach($LOGIN_INFORMATION as $key=>$val) {
  $lp = (USE_USERNAME ? $key : '') .'%'.$val;
  if ($_COOKIE['verify'] == md5($lp)) {
    $found = true;
    $login = $key;
  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...