Текущее время: 19 дек 2017, 00:33


Пример авторизации с помощью сессий

Пример авторизации с помощью сессий

Пример авторизации с помощью сессий

Сообщение jakal » 28 фев 2011, 16:14

файл auth.php:

Код: Выделить всё
<?php
if (isset($_POST['auth_name'])) {
  $name=mysql_real_escape_string($_POST['auth_name']);
  $pass=mysql_real_escape_string($_POST['auth_pass']);
  $query = "SELECT * FROM users WHERE name='$name' AND pass='$pass'";
  $res = mysql_query($query) or trigger_error(mysql_error().$query);
  if ($row = mysql_fetch_assoc($res)) {
    session_start();
    $_SESSION['user_id'] = $row['id'];
    $_SESSION['ip'] = $_SERVER['REMOTE_ADDR'];
  }
  header("Location: http://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']);
  exit;
}
if (isset(@$_GET['action']) AND @$_GET['action']=="logout") {
  session_start();
  session_destroy();
  header("Location: http://".$_SERVER['HTTP_HOST']."/");
  exit;
}
if (isset($_REQUEST[session_name()])) session_start();
if (isset($_SESSION['user_id']) AND $_SESSION['ip'] == $_SERVER['REMOTE_ADDR']) return;
else {
?>
<form method="POST">
<input type="text" name="auth_name"><br>
<input type="password" name="auth_pass"><br>
<input type="submit"><br>
</form>
<?
}
exit;
?>


теперь достаточно написать во всех защищаемых скриптах строчку

Код: Выделить всё
require "auth.php";

jakal

Автор темы
Аватара пользователя
Комментатор
 
Сообщения: [ 154 ]
Зарегистрирован: 26 фев 2011, 22:09
Благодарил (а): 2 раз.
Поблагодарили: 4 раз.

Вернуться в PHP и базы данных

Кто сейчас на конференции

Зарегистрированные пользователи: нет зарегистрированных пользователей

cron