PHPFAQ  
Начинающим   Технологии   MySQL   PDO   Ошибки   Ссылки   Юмор   Форум   SafeMySQL  
-- Список сообщений -- Поиск --
проблема авторизации в админке
Flex 25.08.15 13:30
Добрый день, при переносе админки с локалки на хост, возникла циклическая переадресация.
Сначала все в порядке, юзер заходит по адресу my-site. ru/admin, попадает на страницу авторизации, все работает прекрасно. Пользователь вводит пароль и логин и тут возникает цикл. В чем проблема у самого разобраться не получилось, не хватает знаний. Надеюсь на вашу помощь.

admin/index.php


Код PHP

define('BANK', TRUE);

session_start();

if(!$_SESSION['auth']['admin']){
// подключение авторизации
include $_SERVER['DOCUMENT_ROOT'].'admin/auth/index.php' ;
}

// подключение файла конфигурации
require_once '../config.php';

// подключение файла функций пользовательской части
require_once '../functions/functions.php';

// подключение файла функций административной части
require_once 'functions/functions.php';

// header
include ADMIN_TEMPLATE.'header.php';

//left-bar
include ADMIN_TEMPLATE.'left-bar.php';

...
Код PHP


admin/auth/index.php

Код PHP

// запрет прямого обращения
define('BANK', TRUE);

session_start();

require_once $_SERVER['DOCUMENT_ROOT'].'/config.php';

if(!$_SESSION['auth']['admin']){
header("Location: " .PATH. "admin/auth/enter.php ");
exit;
}else{
header("Location: " .PATH. "admin/");
exit;
}
Код PHP


admin/auth/enter.php

Код PHP
// запрет пр¤мого обращения
define('BANK', TRUE);

session_start();

require_once $_SERVER['DOCUMENT_ROOT'].'/config.php';

if(isset($_SESSION['auth']['admin'])){
header("Location: ../");
exit;
}else{
if($_POST){
$login = trim(mysql_real_escape_string($_POST['user']));
$pass = trim($_POST['pass']);
$query = "SELECT admin_id, login, password, name, rights FROM admin WHERE login = '$login' AND id_role = 2 LIMIT 1";
$res = mysql_query($query);
$row = mysql_fetch_assoc($res);
if($row['password'] == md5($pass)){
$_SESSION['auth']['admin'] = htmlspecialchars($row['name']);
$_SESSION['auth']['user_id'] = $row['admin_id'];
$_SESSION['auth']['rights'] = $row['rights'];
header("Location: " .PATH. "admin/");
exit;
}else{
$_SESSION['res'] = '<div class="error"> Логин или пароль не совпадает!</div>';
header("Location: {$_SERVER['PHP_SELF']} ");
exit;
}
}
}
Код PHP


config.php

Код PHP
') or die ('Access denied');

// домен
define('PATH', 'http://my-site.ru/');
Код PHP

редиректит в admin/auth/enter.php и выдает ошибку

Ошибка:

Неверное перенаправление на странице
Firefox определил, что сервер перенаправляет запрос на этот адрес таким образом, что он никогда не завершится.
Эта проблема может возникать при отключении или запрещении принятия кук.

При изменении в admin/auth/index.php

Код PHP
if(!$_SESSION['auth']['admin']){
header("Location: " .PATH. "admin/auth/enter.php ");
exit;
Код PHP


на


Код PHP
if(!$_SESSION['auth']['admin']){
header("Location: " .PATH. " ");
exit;
Код PHP

происходит редирект на главную сайта. При изменении на

Код PHP
if(!$_SESSION['auth']['admin']){
header("Location: " .PATH. "admin ");
exit;
Код PHP


Опять возникает цикл. Прошу помощи!!!) С локалки полет нормальный.
ответить
Написать
Имя:*
Заголовок:*
Вы робот?
Текст:
Пожалуйста, воздержитесь от посылки спама.
Сообщения, содержащие гиперссылки, проходят премодерацию.

© phpfaq.ru, 2019 1558958040.006 sec. О сайте   Хостинг iHor.ru