Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Авторизация [3]

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (4): « 1 2 [3] 4 »   

> Описание: Авторизация админа (сессии, куки и еще пару вопросов) - посмотрите код
soffrick
Отправлено: 15 Июня, 2013 - 21:30:13
Post Id



Посетитель


Покинул форум
Сообщений всего: 379
Дата рег-ции: Май 2012  
Откуда: Россия, Москва


Помог: 17 раз(а)





наверно и выборку надо делать перечисляя все поля, пусть их будет даже больше 20, вместо того чтобы использовать *


-----
Правильный вопрос - уже половина правильного ответа!

p.s. индусы повсюду, будьте осторожны!
 
 Top
caballero
Отправлено: 15 Июня, 2013 - 21:38:14
Post Id


Активный участник


Покинул форум
Сообщений всего: 5998
Дата рег-ции: Сент. 2011  
Откуда: Харьков


Помог: 126 раз(а)




Цитата:
наверно и выборку надо делать перечисляя все поля, пусть их будет даже больше 20, вместо того чтобы использовать

если писать грамотно то да желательно делать именно так. Хотя и не всегда есть смысл


-----
Бесплатная система складского учета с открытым кодом https://zippy[dot]com[dot]ua/zstore
 
 Top
Hapson
Отправлено: 15 Июня, 2013 - 21:40:06
Post Id



Посетитель


Покинул форум
Сообщений всего: 356
Дата рег-ции: Июнь 2013  
Откуда: Ставропольский край


Помог: 10 раз(а)

[+]


soffrick пишет:

наверно и выборку надо делать перечисляя все поля, пусть их будет даже больше 20, вместо того чтобы использовать *

Я ж учусь... Ламер
Этот косяк я уже понял
(Добавление)
Уффффф!!!!!
Я уже ничего не понимаю....
Почему после выхода из админки и нажатия кнопки назад в браузере, я снова авторизован???

Приведу еще раз файлы, немного измененные.
Входим в админку
Спойлер (Отобразить)


Читается конфиг, функции и далее входим в auth.php
Спойлер (Отобразить)


Далее в форму авторизации
Спойлер (Отобразить)


Файл админки пропускается, так как $user_status != 1

После авторизации попадаем в админку
Спойлер (Отобразить)


Здесь есть кнопка выхода: <a href="http://test/admin/index.php?exit=ok">Выйти</a>

Нажав на эту кнопку, мы снова попадаем на начало index.php далее в auth.php, где по идее юзер должен быть разлогинен.
Так оно и происходит. Но если нажать назад в браузере, то я снова в админке! Как так?

(Отредактировано автором: 15 Июня, 2013 - 22:25:20)



-----
ПЫХ тут - ходи туда, прежде чем писать сюда (толку больше будет)
 
 Top
DeepVarvar Супермодератор
Отправлено: 15 Июня, 2013 - 22:28:44
Post Id



Активный участник


Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


Помог: 353 раз(а)




Цитата:
а что можно там оставить/хранить, после того как пользователь выполнит логаут?

1) Верный ответ капчи.
2) Реферер.
3) Данные заполненной формы, чтобы при ошибке заново не вводил.
4) Данные зашедшего через OpenID.
5) Элементы, являющиеся зависимыми к еще не созданному родительскому.
6) Ключик, для расшифровки ответа от стороннего сервиса.

Хватит?
 
 Top
Мелкий Супермодератор
Отправлено: 15 Июня, 2013 - 22:38:49
Post Id



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


Помог: 618 раз(а)




Hapson пишет:
Почему после выхода из админки и нажатия кнопки назад в браузере, я снова авторизован???

Вы НЕ авторизованы, страница открыта из кэша браузера. Попробуйте что-нибудь сделать и получите отказ доступа.


-----
PostgreSQL DBA
 
 Top
teddy
Отправлено: 15 Июня, 2013 - 23:13:52
Post Id


Участник


Покинул форум
Сообщений всего: 1462
Дата рег-ции: Апр. 2013  


Помог: 91 раз(а)




caballero
Хм... извини, но где ты увидел, что я вызвал эту функцию??? Я лишь протицировал код ТС и задал ему вопрос, почему он написал именно так.

PHP:
скопировать код в буфер обмена
  1. if(isset($_GET['logout'])){
  2.     unset($_SESSION['login']);
  3.     header("Location: index.php");
  4.     exit;
  5. }

Это единственный кусок кода в данном топике, который я писал сам. Так где здесь ты увидел session_destroy() ? Я что то не вижу что бы я такое писал от себя...
 
 Top
Hapson
Отправлено: 15 Июня, 2013 - 23:23:15
Post Id



Посетитель


Покинул форум
Сообщений всего: 356
Дата рег-ции: Июнь 2013  
Откуда: Ставропольский край


Помог: 10 раз(а)

[+]


[quote=Мелкий][quote=Hapson]
Вы НЕ авторизованы, страница открыта из кэша браузера.[/quote]
Да, действительно.
[quote=Мелкий]
Hapson пишет:
Попробуйте что-нибудь сделать и получите отказ доступа.

Там пусто - делать нечего было Радость
Вставил тупо ссылку <a href="/admin/index.php">Обновить</a>
И по нажатию вылет из админки на форму авторизации.
Спасибо.


-----
ПЫХ тут - ходи туда, прежде чем писать сюда (толку больше будет)
 
 Top
caballero
Отправлено: 15 Июня, 2013 - 23:25:27
Post Id


Активный участник


Покинул форум
Сообщений всего: 5998
Дата рег-ции: Сент. 2011  
Откуда: Харьков


Помог: 126 раз(а)




Цитата:
но где ты увидел, что я вызвал эту функцию??? Я лишь протицировал код ТС и задал ему вопрос, почему он написал именно так.

какая разница кто ее вызвал - суть дела от этого не меняется
не надо этого делать ни тебе ни ТС.


-----
Бесплатная система складского учета с открытым кодом https://zippy[dot]com[dot]ua/zstore
 
 Top
Hapson
Отправлено: 15 Июня, 2013 - 23:27:41
Post Id



Посетитель


Покинул форум
Сообщений всего: 356
Дата рег-ции: Июнь 2013  
Откуда: Ставропольский край


Помог: 10 раз(а)

[+]


teddy
А что можно использовать, если header("Location: index.php"); вызывает ошибку?
Я вот что нашел, не знаю, корректно ли это
CODE (htmlphp):
скопировать код в буфер обмена
  1. function redirect($url, $timer = 0){
  2.         echo '<meta http-equiv="refresh" content="' . $timer . '; url=' . $url . '">';
  3. }
  4. //а далее
  5. redirect('нужный урл', время в сек);


caballero пишет:
какая разница кто ее вызвал - суть дела от этого не меняется
не надо этого делать ни тебе ни ТС.


ну я так понял unset($_SESSION['id']) достаточно?


-----
ПЫХ тут - ходи туда, прежде чем писать сюда (толку больше будет)
 
 Top
teddy
Отправлено: 15 Июня, 2013 - 23:28:10
Post Id


Участник


Покинул форум
Сообщений всего: 1462
Дата рег-ции: Апр. 2013  


Помог: 91 раз(а)




caballero
Так я и не делал ) это была просто цитата... мне стало интересно, не более... как заметно я сам использую unset, а не session_destroy() ...
 
 Top
Hapson
Отправлено: 15 Июня, 2013 - 23:33:43
Post Id



Посетитель


Покинул форум
Сообщений всего: 356
Дата рег-ции: Июнь 2013  
Откуда: Ставропольский край


Помог: 10 раз(а)

[+]


Спойлер (Отобразить)

А потом


Спойлер (Отобразить)

Вопрос снят
mysql_fetch_assoc
mysql_fetch_array

(Отредактировано автором: 15 Июня, 2013 - 23:43:29)



-----
ПЫХ тут - ходи туда, прежде чем писать сюда (толку больше будет)
 
 Top
teddy
Отправлено: 15 Июня, 2013 - 23:37:12
Post Id


Участник


Покинул форум
Сообщений всего: 1462
Дата рег-ции: Апр. 2013  


Помог: 91 раз(а)




Hapson
Ошибок быть не должно. Вставляйте этот код в "шапку" файла и все будет работать. Данные GET параметра можете установить конечно же свои. И файл по своему назвать ) Ошибка может быть в случае если вы отправляете заголовок после любого вывода в браузер либо в файле присутствует BOM...
 
 Top
Hapson
Отправлено: 15 Июня, 2013 - 23:40:00
Post Id



Посетитель


Покинул форум
Сообщений всего: 356
Дата рег-ции: Июнь 2013  
Откуда: Ставропольский край


Помог: 10 раз(а)

[+]


teddy пишет:
Hapson
Ошибок быть не должно. Вставляйте этот код в "шапку" файла и все будет работать. Данные GET параметра можете установить конечно же свои. И файл по своему назвать ) Ошибка может быть в случае если вы отправляете заголовок после любого вывода в браузер либо в файле присутствует BOM...

Понятно, спасибо.
Ну да, ошибка когда уже что-то выводилось
(Добавление)
Так что лучше загонять в массив сессии? id или логин-пароль?
Безопасно ли отдавать в сессию логин-пароль?

Спойлер (Отобразить)


-----
ПЫХ тут - ходи туда, прежде чем писать сюда (толку больше будет)
 
 Top
teddy
Отправлено: 15 Июня, 2013 - 23:58:40
Post Id


Участник


Покинул форум
Сообщений всего: 1462
Дата рег-ции: Апр. 2013  


Помог: 91 раз(а)




Hapson пишет:
Так что лучше загонять в массив сессии? id или логин-пароль?

Думаю одного логина будет достаточно при грамотном подходе. А на основе этой сессии уже разруливать код...

Хотя тут все зависит от того, что вы хотите сделать ) я так особо не вчитывался во весь топик, особенно в код... Тоесть если пользователь авторизован, то записываем логин в сессию, а дальше уже используем логин для того, что нам нужно... А поля для авторизации убираем. И лучше запретить к полям для авторизации доступ вообще через прямой путь, коль уж авторизовались...
 
 Top
Hapson
Отправлено: 16 Июня, 2013 - 00:12:28
Post Id



Посетитель


Покинул форум
Сообщений всего: 356
Дата рег-ции: Июнь 2013  
Откуда: Ставропольский край


Помог: 10 раз(а)

[+]


teddy пишет:
Hapson пишет:
Так что лучше загонять в массив сессии? id или логин-пароль?

Думаю одного логина будет достаточно при грамотном подходе. А на основе этой сессии уже разруливать код...

Хотя тут все зависит от того, что вы хотите сделать ) я так особо не вчитывался во весь топик, особенно в код... Тоесть если пользователь авторизован, то записываем логин в сессию, а дальше уже используем логин для того, что нам нужно... А поля для авторизации убираем. И лучше запретить к полям для авторизации доступ вообще через прямой путь, коль уж авторизовались...

Ну форма авторизации только через index.php админки открывается, больше никак. Или я что-то не понял?
Вообще это форма авторизации только для админа. Для юзеров будет другая. Вот я что думаю... для юзеров тоже сессии использовать?


-----
ПЫХ тут - ходи туда, прежде чем писать сюда (толку больше будет)
 
 Top
Страниц (4): « 1 2 [3] 4 »
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB