Forum Webscript.Ru

Программирование => PHP => Тема начата: Srg от 26 Октября 2003, 09:32:29

Название: Авторизация администратора
Отправлено: Srg от 26 Октября 2003, 09:32:29
Привет всем,

У меня вот возникли некоторые проблемы с моим скриптом, и соответсвенно вопросы к вам :)

Посоветуйте, пожалста, систему авторизации админа сайта, но главное, что бы она была действительно надежной. Это в моем случае очень важно.

И еще, как мне передавать переменныее по всему скрипты? То есть у меня пхп файл состоит из конструкции if\'ов и elseif\'ов, так вот, бывает так, что мне надо
- проверить есть ли $admin
- если нет создать форму для логина
- залогинились и пишем "Привет админ"
- выводим некоторые таблицы из базы
- после прохода нескольких ифов некоторые переменные теряются и вызываются предыдущие if\'Ы.

Обьясните мне, неразумном, как сделать так, чтобы переменная могла пройти через весь скрипт, чтобы при методе GET она во всем скрипте писалась в адрессной строке.

Заранее спасибо.

P.S.> Ответы типа "юзай то-то" или "используй такую-то функцию", прошу не оставлять. Только конкретные разьяснения и примеры. Огромнейшее спасибо.
Название: Авторизация администратора
Отправлено: Меняздесьдавнонет от 26 Октября 2003, 10:14:25
Ты знаешь, очень портят впечатление от вопроса, и отбивают желание отвечать такие вот заявления - "отвечайте не так, а вот так".

А можно спросить - почему тебя пугают ответы вида "используй такую-то функцию"?
Может быть, твой страх не так уж обоснован?
плюс к тому - почему ты считаешь, что здесь на форуме тебе ответят подробнее, чем написал разработчик языка в официальной документации?

Особенно, если учесть уровень твоего вопроса, то конкретного ответа получиться не может.
Начнем с того, что
Цитировать
переменная  при методе GET она во всем скрипте писалась в адрессной строке.

и
Цитировать
действительно надежной

- вещи суть несовместивые.
Выбери что-то одно. Или в адресной строке или надежное.

Так что, прежде, чем требовать "конкретных разъяснений" неплохо было бы задавать конкретный вопрос.

Тебе нужна надежная система авторизации?
HTTP authorisation (на уровне скриптов или апача) + SSL
И о том и о другом ты можешь вполне, приложив совсем небольшие усилия, прочитать в интернете. Который, к твоему сведению, это не только форумы, но и АРХИВЫ этих форумов. А так же - спецуиализированные серверы с кучей информации.

И я совершенно не понимаю, с какой стати ты требуешь, чтобы кто-то ЗА ТЕБЯ эту информацию искал, разжевывал, и приносил на блюдечке.
Название: Авторизация администратора
Отправлено: Mog. от 26 Октября 2003, 11:11:56
2Srg
Имеет смысл сначала уяснить принцип работы серверных скриптов в паре с браузером и вообще принципов протокола http. Ибо, судя по постановке вопроса, Вы, уважаемый, этого не представляете. Потому, что если бы представляли, то не задавали бы этих вопросов.
Название: Авторизация администратора
Отправлено: Srg от 26 Октября 2003, 13:46:45
Цитировать
RomikChef:
А можно спросить - почему тебя пугают ответы вида "используй такую-то функцию"?
Может быть, твой страх не так уж обоснован?


RomikChef Спросить можно, я поэтому и прошу не отвечать таком роде, что еще только учусь и многое наверняка мне будет непонятно.

Цитировать
RomikChef:
Особенно, если учесть уровень твоего вопроса, то конкретного ответа получиться не может.
Начнем с того, что
переменная при методе GET она во всем скрипте писалась в адрессной строке.

и
действительно надежной

- вещи суть несовместивые.
Выбери что-то одно. Или в адресной строке или надежное.


Хм, ну я вообщем-то не имел ввиду конкретно метод GET а как пример привел, то есть переменная всегда существует на протяжении выполнения скрипта.
Цитировать


RomikChef:
И я совершенно не понимаю, с какой стати ты требуешь, чтобы кто-то ЗА ТЕБЯ эту информацию искал, разжевывал, и приносил на блюдечке.


Интересно, почему сразу же на блюдечке? Тогда может вообще форумы не нужны? Я пришел на данный форум именно потому, что он имеет непосредственную связь с темой web-программирования и php в частности. Я задал вопрос на тему php. Или бы сразу писали на галвной странице - Новичкам вход в форум сторого запрещен, учитесь сами товарищи
Название: Авторизация администратора
Отправлено: Макс от 26 Октября 2003, 14:52:37
Srg
форумы - это тебе не курс по php-программированию. Здесь отвечают на конкретно поставленные вопросы. Твой таким не является. Ты хочешь чтобы тебе скрипт написали и еще объяснили как он работает. То что ты начинающий, еще не значит, что к тебе здесь будет какое-то особое отношение.

Теперь по сути.
Самое простое для тебя будет просто закрыть папку .htaccess-ом + прикуртить SSL. Как закрыть папку .htaccess-ом - ищи в сети, статей полно было (конечно же тебе прийдется всю админ-часть вынести в отдельный файл и положить в отдельную папку). В этом форуме авторизация обсуждалась очень часто, так что используй поиск.
Насчет передачи переменных между скриптами - для этого используются сессии. Как работать с сессиями на форуме тоже обсуждалось предостаточно. Статей по ним тоже много.
Название: Авторизация администратора
Отправлено: Srg от 26 Октября 2003, 16:06:46
Ок, спасибо.
Название: Авторизация администратора
Отправлено: Меняздесьдавнонет от 26 Октября 2003, 17:13:00
Srg
Заметь, я не говорил, что твой вопрос плохой.
мне всего лишь не понравились требования, которые ты выдвинул.
О чем я тебе и сообщил. Меньше требуй от других и больше - от себя. В этом смысле, как ты понимаешь, совершенно неважно, новичок ты, или нет.

Для того, чтобы переменная всем скриптам передавалась гетом, надо всего лишь дописывать ее ко всем ссылкам.
Но чаще для передачи используются сессии, про которые читай в моей подписи.

Авторизация часто делается с помощью сессий, но в твоем случае удобнее htaccess http://host.ru/art/0007.html
Название: Авторизация администратора
Отправлено: Srg от 28 Октября 2003, 13:21:16
А если потребуется передавать ее post\'ом, что тогда делать?
Ответь если не трудно.
Название: Авторизация администратора
Отправлено: Меняздесьдавнонет от 28 Октября 2003, 13:58:32
абсолютно непонятный вопрос.
кого - "ее"?
Авторизацию?
Это вопрос из серии "а если придется ездить на квадратных колесах?" И с такими вопросами, пожалуйста, не к профессионалам.

Если используется апачевская авторизация, то метод значения не играет никакого
Название: Авторизация администратора
Отправлено: Макс от 28 Октября 2003, 14:00:29
Цитировать
ее post\'ом
кого "ее" ?
ты же прогрммируешь скрипт. Ты и указывай как проводить авторизацию.
Название: Авторизация администратора
Отправлено: Srg от 28 Октября 2003, 14:37:53
Естественно переменную ...

А если потребуется передавать переменную post\'ом всем скриптам, что тогда делать?

С аторизацией я уже разобрался.
Название: Авторизация администратора
Отправлено: Меняздесьдавнонет от 28 Октября 2003, 14:54:23
Этого не может потребоваться, поскольку передавать переменные постом всем скриптам - глупость.
Если у тебя многостраничная форма - надо использовать сессии.

Метод ПОСТ служит для заполнения форм.
и все.
в формах есть поле типа hidden, если скрипту-обработчику надо передать переменную.
ВСЕГДА после обработки формы надо перенаправить браузер пользователя метобом ГЕТ, куда захочешь.
это делает команда
header("Location: /address");

Это простые правила работы методом ПОСТ.
Больше ничего им делать не надо.
Название: Авторизация администратора
Отправлено: Srg от 29 Октября 2003, 08:49:19
Мммм, боюсь спросить, что обозначает следующее предупреждение?

Warning: Cannot modify header information - headers already sent by (output started at /xxxx/x/xxxxx.h11.ru/WWW/conf/header.inc:8) in /xxx/x/xxxx.h11.ru/WWW/index.php on line 160
Название: Авторизация администратора
Отправлено: Меняздесьдавнонет от 29 Октября 2003, 12:06:39
привльно боишься.
У меня в подписи написано - фак для начинающих.
И тебе следовало бы туда хотя бы заглянуть.

А бояться не надо.
Лучше сформулировать свой вопрос точнее и переспросить.
Название: Авторизация администратора
Отправлено: Mog. от 30 Октября 2003, 15:15:10
Цитировать
Srg:
предупреждение
понимай буквально, как написано в ём и не ищи доп. смысла.
Название: Авторизация администратора
Отправлено: Srg от 31 Октября 2003, 01:52:42
А скажите, пожалуйста, можно в форму
Название: Авторизация администратора
Отправлено: Mog. от 31 Октября 2003, 07:32:45
Вроде так надо:
Название: Авторизация администратора
Отправлено: Srg от 02 Ноября 2003, 07:31:06
Спасибки,
Но с заголовками все равно проблемы,

...................................
if (($id) and ($edit==\'xxx\') and ($t[\'xxxx\']==\'xxxxx\') and ($submit))
        {
        header("Location: $PHP_SELF?add=xxx&view=xxxxxx");
        $query = "UPDATE xxxx SET ....
....................................

есть такой код, мне в нем нужно, чтобы в базу xxxх добавились неокторые значения и произошел редирект на  $PHP_SELF?add=xxx&view=xxxxxx", а как это сделать незнаю.
Причем, дома не выскакиевает ошибка про хедер, а когда заливаю на сервер, она тут как тут.
Скажите, пожалуйста, что я не так сделал?
Название: Авторизация администратора
Отправлено: Меняздесьдавнонет от 02 Ноября 2003, 15:59:06
в факе же написано черным по белому.
Тебе сам скрипт пишет - в какой строке ты сделал неправильно.
Неужели там так непонятно написано?
Название: Авторизация администратора
Отправлено: Srg от 03 Ноября 2003, 11:31:53
А если у меня скрипт написан внутри какого-то дизайна, и состоит из целой кучи условий, которые посылают свои заголовки?Как мне совместить верхний дизайн и эти ... заголовки ...?
Название: Авторизация администратора
Отправлено: Меняздесьдавнонет от 03 Ноября 2003, 12:20:19
а ты пиши не внутри дизайна, а до.
Я всегда так делаю.