Страница 1 из 2
доступ в интернет на 1 час в сутки
Добавлено: 03 сен 2014, 23:03
t332
А не подскажете, как попроще реализовать следующую задачу:
надо чтобы доступ в интернет у определенных пользователей был, ну скажем 1 час в сутки.
Может, какие-то примеры решения схожих задач?
Я не могу сообразить, как время то это высчитывать.
Спасибо.
Re: доступ в интернет на 1 час в сутки
Добавлено: 04 сен 2014, 05:50
vqd
Создать правило (например в фильтрах) с нужным вам ограничением
Re: доступ в интернет на 1 час в сутки
Добавлено: 04 сен 2014, 10:35
t332
Я, видимо, неправильно выразился.
Надо сделать не доступ в течение определенного часа суток, а так, чтобы доступ в интернет был _на_ один час. 10 минут сейчас, 15 минут через два часа, и 35 минут еще через 3 часа.
Понятно, что это не обязательно прямо в реальном времени высчитывать - +- 5-10 минут погрешности это не проблема.
Re: доступ в интернет на 1 час в сутки
Добавлено: 04 сен 2014, 10:37
Dragon_Knight
Это Вам в сторону HotSpot нужно смотреть:
ссылкаADD: Есть вариант через скрипт ещё, но это совсем топор уже получается...
Каждую минуту проверять счётчик правила фаервола, который-бы отмечал активность клиента. Если счётчик изменился, то +1 минута к работе. Как только накопилось 60 минут, то врубаем правило блокировки, и делаем метку времени блокировки, после чего ждём пока это время истечёт...
Re: доступ в интернет на 1 час в сутки
Добавлено: 04 сен 2014, 10:39
vqd
ну я бы скриптом реализовал + адресс листы + все те же фильтры
Re: доступ в интернет на 1 час в сутки
Добавлено: 04 сен 2014, 11:49
-user-
Интересная задача, даже, например, ребенку урезать время пребывания в инете....
Dragon_Knight писал(а):Если счётчик изменился, то +1 минута к работе
vqd писал(а):ну я бы скриптом реализовал + адресс листы + все те же фильтры
чисто ради интерса, только алгоритм, как бы Вы сделали это? без команд, без строчек скриптов, просто алгоритм.... (интересно для накопления знаний по решению задач на МТ

)
t332 писал(а):доступ в интернет был _на_ один час
что считать временем "доступа"? юзер ткнул в страничку, она открылась - он сидит читает её пол часа, потом опять ткнул другую страничку... еще сидит читает 20 минут... Что считать "доступом к инету", фактически на МТ юзер мелькал не более пол минуты за открытие обоих страничек...

Re: доступ в интернет на 1 час в сутки
Добавлено: 04 сен 2014, 11:54
t332
-user- писал(а):Интересная задача, даже, например, ребенку урезать время пребывания в инете....
Dragon_Knight писал(а):Если счётчик изменился, то +1 минута к работе
vqd писал(а):ну я бы скриптом реализовал + адресс листы + все те же фильтры
чисто ради интерса, только алгоритм, как бы Вы сделали это? без команд, без строчек скриптов, просто алгоритм....
t332 писал(а):доступ в интернет был _на_ один час
что считать "доступом"? юзер ткнул в страничку, она открылась - он сидит читает её пол часа, потом опять ткнул другую страничку... еще сидит читает 20 минут... Что считать "доступом к инету", фактически на МТ юзер мелькал не более пол минуты за открытие обоих страничек...

Собственно, для ребенка и планируется.
Что считать доступом... Ну да, тут еще надо подумать. Хотя, если б проблема была "открыл страничку и ЧИТАЕТ" - я бы вообще не заморачивался - читает и на здоровье. =)
Насчет вопроса про алгоритм - присоединяюсь, хотя Dragon_Knight в принципе достаточно подробно расписал направление.
Re: доступ в интернет на 1 час в сутки
Добавлено: 04 сен 2014, 12:01
-user-
t332 писал(а):достаточно подробно
Dragon_Knight писал(а):Если счётчик изменился, то +1 минута к работе
я просто пока не сильно знаком с тонкостями параметров правил на МТ...
Что за параметры должно содержать правило, чтобы прибавление его счетчика считать за "+1 минуту"? Я так понимаю счетчик увеличивается при попадании под его правила трафика... т. е. как должно выглядеть правило, чтобы его счетчик нельзя было увеличить на 60 раз, допустим, всего за минуту-две (ну т.е. не за то время за которое планировалось)?

Re: доступ в интернет на 1 час в сутки
Добавлено: 04 сен 2014, 12:06
Dragon_Knight
Ну что логика.. Логика примерна такая...
Код: Выделить всё
global WorkTime;
global BlockTime;
global FFCount;
if(BlockTime > 0)
{
BlockTime--;
if(BlockTime <= 0)
{
FirewallRule.DisableBlock();
}
}
else
{
if(FirewallRule.GetCount > FFCount)
{
WorkTime++;
if(WorkTime >= 60)
{
FirewallRule.EnableBlock();
BlockTime = 1440;
WorkTime = 0;
}
}
}
Re: доступ в интернет на 1 час в сутки
Добавлено: 04 сен 2014, 12:10
vqd
Ну первое что пришло в голову.
Например скрипт смотрит соединения и если там появились соединения с нужного ПК то скрипт засекает скажем час и через час создает или включает правило блокировки опять же на нужный период времени
Но это все обходится как 2 пальца об асфальт если АРП таблица динамическая и ДХЦП выдает адреса без привязки