Что лучший способ состоит в том, чтобы создать страницу входа в систему PHP?

Я довольно плохо знаком с PHP и ищу некоторые лучшие практики о том, как реализовать аутентификацию в PHP.

Я - евангелист для Adobe и одной из вещей, которая раздражает меня, когда люди используют Flex/Flash для экрана входа в систему. Таким образом, я хочу сделать, сообщение в блоге / пример при использовании страницы входа в систему HTML/PHP и затем передаче информации о сессии к Flex-after-сессия было установлено.

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

Заранее спасибо,

=Ryan ryan@adobe.com

7
задан ryanstewart 11 January 2010 в 23:27
поделиться

4 ответа

Как было сказано, что в PHP многое многое создание прочной и безопасной системы аутентификации в PHP, но основные основы легко понять.

Первое, что вы хотите сделать, это позвонить Session_Start () . Как только вы сделали это, вы можете получить и установить переменные сеанса с использованием SuperGlobal $ _ SuperGlobal:

session_start();
$_SESSION['foo'] = $foo;
$bar = $_SESSION['bar'];

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

Однако есть вопросы безопасности, такие как фиксация сеанса и кража Cookie. Например, один подход к фиксации сеанса состоит в том, чтобы восстановить идентификатор сеанса пользователя при возвышении привилегий с использованием SESSENARE_REGENARE_ID (или что-то в этом роде).

Консорциум PHP Consortium имеет много полезной информации.

Печенье можно манипулировать с помощью функции SetCookie .

7
ответ дан 8 December 2019 в 01:54
поделиться

Создать страницу Program.php с формой что-то вроде:

<form method="post" action="login.php">
<input type="text" name="username">
<input type="password" name="password">
<input type="submit" name="submLogin">
</form>

Затем добавьте свою логику PHP:

<?
if(isset($submLogin))
{
 $username = $_POST['username'];
 $password = $_POST['password'];

// run checks on vars not to pass on silly data + escape chars

 $query_login = 'SELECT * FROM users 
 WHERE username = ' . $username . ' AND password = ' . $password . ' LIMIT 1';
 $login = mysql_query($query_login, $db_connection) or die();
 $login_result = mysql_num_rows($login);

 if($login_result == 1)
 {
  // success
  session_start();
  $_SESSION['logged_in'] = TRUE;
  // redirect somewhere, set cookies, do whatever you want to do on success
 }
 else
 {
  // fail
  // display error or redirect
 }
}  
?>

$ db_connection Переменная - это идентификатор ссылки - результат mysql_connect () или mysql_pconnect ()

2
ответ дан 8 December 2019 в 01:54
поделиться

Это довольно широкая тема. Тем не менее, хорошее понимание сеансов / печенье было бы хорошей базой. Вы должны взглянуть на блог Блог Криса Шифлета - у него много хороших постов об этих темах.

Я евангель для Adobe и одной из вещей, которые меня раздражают, это когда люди используют Flex / Flash для экрана входа в систему. Поэтому я хочу сделать сообщение в блоге / пример на использовании входа в систему HTML / PHP, а затем передачу информации сеанса для Flex -after - сеанс был установлен.

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

2
ответ дан 8 December 2019 в 01:54
поделиться

Сбросьте PHP и попадите в ASP.NET. Все это уже сделано, вместе с информацией о безопасности и членстве. =)

.
-12
ответ дан 8 December 2019 в 01:54
поделиться
Другие вопросы по тегам:

Похожие вопросы: