[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Доступ к админке
Зарегестрирований
При написании админской зоны столкнулся с проблемой
Предистория:
После авторизации происходит проверка
if ($result['rank'] == 2) выдается ссылка на файл cheker.php там дается форма для ввода ключа если он правильный то идет перееадресация на azone/index.php
если же нет то перееадресация на ../index.php
Так ВОТ вопрос в том:
Как закрыть доступ с тупого ввода в строку браузера пути к файлу
Я надумал два решения:
1.с страницы checker.php если всё проходит успешно отсылать
<input type="hidden" name="letmove" value="1"/>

а на самой странице в админке:
if (isset ($_POST['letmove'])) {
if ($_POST['letmove'] == 1) {
$_SESSION['letmove'] == 1;
}
}

а дальше плясать от сесии
ИБО:
Зделать проверку по Айпи но так как я на localhost я не до конца могу проследить поведение кода но идея остается идеею

function getRealIpAddr()
{
if (!empty($_SERVER['HTTP_CLIENT_IP']))
{
$ip=$_SERVER['HTTP_CLIENT_IP'];
}
elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR']))
{
$ip=$_SERVER['HTTP_X_FORWARDED_FOR'];
}
else
{
$ip=$_SERVER['REMOTE_ADDR'];
}
return $ip;
}


а дальше

// список разрешенных IP адресов через пробел
$allowed_ips = "192.168.10.15 192.168.10.2 212.34.124.56";

$ips = explode(" ",$allowed_ips);
if (array_search(getRealIpAddr(),$ips) === FALSE) {
echo "<p>Добро пожаловать в АБлок";

};
Else { exit("А слона то мы ЗАМЕТИЛИ!")}


Ну так как все же мне поступить?
Если в коде ошибки ВЫ говорите, а Я записую =)



Спустя 36 минут, 5 секунд (2.01.2011 - 16:37) Invis1ble написал(а):
Зарегестрирований
на checker.php если всё проходит успешно - определяешь некую константу, например
define('AUTH', true);

а на самой странице в админке:
if (!defined('AUTH'))
die('Читер детектед =)');
else
{
// все пучком, авторизация пройдена, можно плясать дальше
}

Спустя 12 минут, 40 секунд (2.01.2011 - 16:49) inpost написал(а):
На первой странице создаёшь сессию, на второй проверяешь её существование, если нету - редирект на 404, а если есть - удаляешь сессию и продолжаешь выполнение скрипта =)

Спустя 4 часа, 1 минута, 15 секунд (2.01.2011 - 20:50) Зарегестрирований написал(а):
Раньше здесь БЫЛ вопрос НО вопрос исчерпан Спасибо за Кукие И за define тоже, но кукие прикольней

Спустя 22 минуты, 46 секунд (2.01.2011 - 21:13) Зарегестрирований написал(а):
А прокатит ли такая проверка

if ($_POST['action'] ?= "logoff")
{$_SESSION['killcookie'] == 1;}

если есть
<form method="post" action="?logoff"><input type="submit" value="Выход" id="logoff"/></form>


Спустя 27 минут, 26 секунд (2.01.2011 - 21:41) inpost написал(а):
Что значит: ?=

Спустя 11 часов, 21 минута, 40 секунд (3.01.2011 - 09:02) Зарегестрирований написал(а):
Упс там так
if ($_POST['action'] == "?logoff")
{$_SESSION['killcookie'] == 1;}

Спустя 6 часов, 59 минут, 51 секунда (3.01.2011 - 16:02) inpost написал(а):
А что за символ "?"
Ты передаёшь данные так: index.php?page=\?logoff ???

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

Спустя 3 часа, 19 минут, 7 секунд (3.01.2011 - 19:21) Зарегестрирований написал(а):
1.Хорошо я буду читать литературу
2.Я придумал новый велосипед (для себя новый)
Вместе с кнопкой Выхода отправлять "hidden"
<form method="post" action="" ><input type="submit" value="Выход" id="logoff"/>
<input
type="hidden" value="1" name="logoff"/>
</form>

Потом просто проверил если есть удаляю куки.

Спустя 33 минуты, 43 секунды (3.01.2011 - 19:55) Invis1ble написал(а):
Зарегестрирований
выход можно реализовать в виде ссылки с гет-параметром (или даже без него)

Спустя 22 минуты, 25 секунд (3.01.2011 - 20:17) Зарегестрирований написал(а):
но мне при этом нужно убивать куки и приравнивать сесию к нулю

Спустя 5 минут, 42 секунды (3.01.2011 - 20:23) Invis1ble написал(а):
Зарегестрирований
ясен пень )) В скрипте, куда будет вести ссылка убиваешь хоть черта лысого )
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.