Я довольно плохо знаком с PHP и ищу некоторые лучшие практики о том, как реализовать аутентификацию в PHP.
Я - евангелист для Adobe и одной из вещей, которая раздражает меня, когда люди используют Flex/Flash для экрана входа в систему. Таким образом, я хочу сделать, сообщение в блоге / пример при использовании страницы входа в систему HTML/PHP и затем передаче информации о сессии к Flex-after-сессия было установлено.
Я все еще переношу голову точно, какой PHP должен создать допустимую сессию и как это устанавливает cookie. Так примеры или информация, которые конкретно касаются, который был бы очень полезен.
Заранее спасибо,
=Ryan ryan@adobe.com
Как было сказано, что в 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
.
Создать страницу 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 ()
Это довольно широкая тема. Тем не менее, хорошее понимание сеансов / печенье было бы хорошей базой. Вы должны взглянуть на блог Блог Криса Шифлета - у него много хороших постов об этих темах.
Я евангель для Adobe и одной из вещей, которые меня раздражают, это когда люди используют Flex / Flash для экрана входа в систему. Поэтому я хочу сделать сообщение в блоге / пример на использовании входа в систему HTML / PHP, а затем передачу информации сеанса для Flex -after - сеанс был установлен.
Я не совсем уверен в своей цели здесь. Вам нужен флэш-компонент для аутентификации пользователя? Поскольку это технология клиента, такая аутентификация будет иметь ограниченную область.
Сбросьте PHP и попадите в ASP.NET. Все это уже сделано, вместе с информацией о безопасности и членстве. =)
.