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 :: Запретить доступ с нескольких интерфейсов [2]

 PHP.SU

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


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

> Описание: Запретить одновременный доступ с нескольких интерфейсов при помощи сессий
LIME
Отправлено: 16 Августа, 2011 - 22:13:48
Post Id


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


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


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




ferro пишет:
для этого я использую тот же таймер на аяксе
зачем таймер?
его просто непустит при следующем же запросе
ведь его сессии уже нет
зачем клиент и сервер нагружать лишний раз
(Добавление)
session_name('Name'); и в этом нет смысла
просто стартуете сессию
создаете все нужные переменные сессии
после всех необходимых действий с сессией меняете текущую сессию на старую по сид
и уничтожаете
 
 Top
DeepVarvar Супермодератор
Отправлено: 17 Августа, 2011 - 01:30:15
Post Id



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


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


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




Ой боже....
Зачем все это?

PHP:
скопировать код в буфер обмена
  1. $user_id = 3454;
  2. $hash = md5(microtime());
  3. setcookie("member",$hash,time()+2592000,"/");
  4. mysql_query("UPDATE users SET hash = '$hash' WHERE id = $user_id");


А теперь залогиньтесь с другого браузера на той же машине - выкинет с первого..
 
 Top
LIME
Отправлено: 17 Августа, 2011 - 01:44:04
Post Id


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


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


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




DeepVarvar но ведь при вашем подходе надо делать запрос к базе для сравнения хэшей при каждом обращении
в моем только при авторизации
я ошибаюсь?
 
 Top
LIME
Отправлено: 17 Августа, 2011 - 05:59:57
Post Id


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


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


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




проблема не в формировании уникального хэша
для этого вполне подойдет сид
мне кажется вы невнимательно прочитали или не с начала
 
 Top
DeepVarvar Супермодератор
Отправлено: 17 Августа, 2011 - 13:32:51
Post Id



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


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


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




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

Значит как ни крути - чекать по сессии этот самый хеш.
А куки нужны для того что, если сессия уже просрочена - смотреть по ним.

иф (есть сессия) - либо в ней есть массив профиля юзера, либо лезем за ними в базу по хешу.

элзиф (есть куки) - запрашиваем данные профиля по хешу кук.

элз - гость на....

но куки то всегда придется обновлять - ведь юзер может и не закрывать браузер двое суток.
и если он зашел с другого места - разлогинить тут..

без запроса в постоянку никак не обойтись.
А данные профиля? А права группы, которые вообще в другой таблице чаще лежат?
не хранить же целые объекты в сессии...
Можно конечно, но это же кудато в файл записывется сериализованно.
А это обращения к диску..
И там и там накладно...
Так не лучше ли заточить сразу под БД?
 
 Top
LIME
Отправлено: 17 Августа, 2011 - 13:51:38
Post Id


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


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


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




DeepVarvar пишет:
Можно конечно, но это же кудато в файл записывется сериализованно.
А это обращения к диску..
И там и там накладно...
ну это от базы зависит
обращение к файлу сессии уж точно не медленнее а скорее всего быстрее
DeepVarvar пишет:
А куки нужны для того что, если сессия уже просрочена - смотреть по ним.
если просрочена пусть перезайдет...нефиг рожу баловать))
нет смысла в хэше по тайму
не убедили
по поводу целесообразности постоянных обращений к бд это могет быть
зависит от многого
например если толпа юзеров зарегана а обычно онлайн мало народа то лучше в сессию писать
 
 Top
DeepVarvar Супермодератор
Отправлено: 17 Августа, 2011 - 15:48:37
Post Id



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


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


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




LIME пишет:
нет смысла в хэше по тайму
Если есть кнопочка "запомнить меня" - то смысл есть
 
 Top
LIME
Отправлено: 17 Августа, 2011 - 16:29:53
Post Id


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


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


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




это да
но врожденное чувство противоречия подсказывает что проще просто экспаер увеличить phpsessid ))
 
 Top
Страниц (2): « 1 [2]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Работа с сетью »


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



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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB