Автор Тема: Cистема блокирования доступа к странице в режиме онлайн  (Прочитано 4009 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн sublimity

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 121
  • +0/-0
  • 0
    • Просмотр профиля
Необходимо разработать систему блокирования доступа к странице в режиме онлайн, для этого я использую следующую функцию:

function ONLine($mixed,$userID)
{
if ($mixed==-1)
{
   $ret=array();
   $r=mysqlq("SELECT object,user_id FROM online WHERE user_id!=$userID",0,1);
   while($c=mysql_fetch_array($r,MYSQL_NUM))
   {
      $ret[$c[1]]=$c[0];

   }
      return $ret;
   }
   else
   {
   mysqlq("DELETE FROM online WHERE last_access<".(time()-125)." or session_id=\'".session_id()."\'");
   mysqlq("INSERT INTO online (session_id,last_access,user_id,object) VALUES(\'".session_id()."\',".time().",".$userID.",\'".addslashes(serialize($mixed))."\');");  
   }
}

Она используется как для записи так и для чтения,  
где
$userID – это индификатор залогиненого пользователя
$mixed – это ассоциативный массив.

Использую ее следующим образом в index.php:
В начале
$O=ONLine(-1,$user->DATA[\'Id\']);
foreach ($O as $k=>$v) $ONLINE[$k]=@unserialize($v);


В конце :
ONLine($ONLINECURENT,$user->DATA[\'Id\']);

В коде проверяю следующей схемой:
$GLOBALS[\'ONLINECURENT\'][\'QUOTA\']=$m5;
//$m5-особый параметр , который уникальный для каждой странице
if (sizeof(@$ONLINE))
   foreach ($ONLINE as $k=>$v)
      {
         if (@array_key_exists(\'QUOTA\',$v))
            if ($v[\'QUOTA\']==$m5)
            {
               Die(‘Доступ закрыт!’);
               // BLA-BLA-BLA-BLA
            }
      }

Но это схема работает криво.
Буду благодарен за помощь в решении проблемы!

Оффлайн Меняздесьдавнонет

  • новичЕк
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 5698
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
объясни сначала, что ты называешь блокированием доступа.

Оффлайн sublimity

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 121
  • +0/-0
  • 0
    • Просмотр профиля
Когда один клиент просматривает "страницу" с укинальным ID , то другой не может получить доступ к этой же "странице".
Как только первый закончил просматривать , то другой может получить доступ.....

Грубо структура такая:
Каталог\\Стр1
Каталог\\Стр2
....
Каталог\\СтрN

Оффлайн Меняздесьдавнонет

  • новичЕк
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 5698
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
Цитировать
sublimity:
Когда один клиент просматривает "страницу" с укинальным ID , то другой не может получить доступ к этой же "странице".

это ещё зачем?
что за страницы?

Оффлайн sublimity

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 121
  • +0/-0
  • 0
    • Просмотр профиля
RomikChef
Что не понятно то????

Зачем , это вопрос тысячный.....

Что за страницы , да обычный код на пхп данные из базы преобразованные в хтмл :) вызванные по /blabla/?id=XX

Оффлайн Меняздесьдавнонет

  • новичЕк
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 5698
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
ну, раз тысячный, то и не парься.

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28