Forum Webscript.Ru

Программирование => PHP => Тема начата: от 15 Мая 2002, 14:35:26

Название: Такой вопрос
Отправлено: от 15 Мая 2002, 14:35:26
Существует страница авторизации, проходя которую юзер может попасть на одну из страниц администрирования. Как бы сделать так, чтобы эти страницы могли вызываться только со страницы авторизации?
Название: Авторизация
Отправлено: bhor от 15 Мая 2002, 16:00:34
Вставлять в начале каждой страницы подпрограмму авторизации.
Подпрограмма авторизации должна вешать куки, т.е. пароль нужно будет ввести только 1 раз.
чтото типа

include("inc/auth_user.inc.php");
yourcode
Название: Авторизация
Отправлено: от 15 Мая 2002, 16:40:09
Спасибо. А еще вопрос, include\'ные файлы как лучше обзывать php, inc или inc.php?
Название: Авторизация
Отправлено: Макс от 15 Мая 2002, 16:52:05
Цитировать
Подпрограмма авторизации должна вешать куки,
Ну куки - это ИМХО не лучший вариант.
Во-первых можно использовать сессии (ИМХО лучший вариант)
Пример был на http://www.digiways.com
Во-вторых можно использовать HTTP-авторизацию.
См. Мануал >> Main >> Features >> HTTP authentication

 ЗЫ
Насчет имен файлов - имхо все равно. Но я думаю, что если файл лежит в папке /inc то расширение .inc.php  не нужно
Название: Авторизация
Отправлено: Dm от 17 Мая 2002, 02:11:05
конечно, лучше сессии. (см. FAQ этого форума)

Цитировать
А еще вопрос, include\'ные файлы как лучше обзывать php, inc или inc.php?

если inc - нужно позаботиться, чтобы никто не смог прочитать исходник через веб-сервер, запрет делается через .htaccess.
.php - нужно позаботиться о том, чтобы скрипт, запущенный самостоятельно ничего не сделал.
Название: Авторизация
Отправлено: bhor от 17 Мая 2002, 09:46:19
Цитировать
.php - нужно позаботиться о том, чтобы скрипт, запущенный самостоятельно ничего не сделал.

Самое простое например поставить в начале проверку.

if (isset($run))
{
Тело файла
}

А $run брать из сессии
Название: Авторизация
Отправлено: Dm от 20 Мая 2002, 00:16:17
Цитировать
А $run брать из сессии

имхо, переменная должна быть в вызывающем скрипте.
и код примерно такой:

if($run != "bla-bla-bla") {
  exit;
}

причем, опять эти глобальные переменные. нужно убедиться в том, что данные пришли не из GET/POST запросов.