+  HandyCache форум
|-+  Главная категория» Общие вопросы» Как блокировать разные сайты для разных пользователей?
Имя пользователя:
Пароль:
Страниц: 1 [2] 3 4  Все   Вниз
  Отправить эту тему    Печать  
Автор Тема: Как блокировать разные сайты для разных пользователей?  (Прочитано 60036 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Ol_3
Пользователь
**

Репутация: +0/-0
Offline Offline

Сообщений: 69


« Ответ #20 : 17 мая 2010, 15:05:59 »

Я думаю, что твое расширение лучше тем, что ты его написал сам. А перед этим, наверное, почитал документацию. Теперь, если понадобится еще что-то, ты сможешь попробовать это организовать.
Я почитал выше,и с 5-7 раза стало доходить, что там написано.
ну и Опыт, сын ошибок трудных.....
Сообщить модератору   Записан
mai62
Автор HC
*****

Репутация: +226/-4
Offline Offline

Сообщений: 6383


« Ответ #21 : 17 мая 2010, 15:16:49 »

Если еще чего понадобится, почитай файл HCExtensions.html (лежит в архиве с НС в папке Extensions). Там написано какие переменные и функции для чего предназначены. Ну и еще есть тема http://handycache.ru/component/option,com_smf/Itemid,10/topic,1120.0/ , где можно посмотреть примеры расширений (думаю и то, что тебе надо было там можно найти).
Сообщить модератору   Записан
Ol_3
Пользователь
**

Репутация: +0/-0
Offline Offline

Сообщений: 69


« Ответ #22 : 18 мая 2010, 12:23:21 »

беда в том, что абсолютно пе способен к языкам, и к языкам программирования в том числе.
Сообщить модератору   Записан
DenZzz
Модератор
*****

Репутация: +179/-11
Offline Offline

Сообщений: 5589



« Ответ #23 : 09 августа 2010, 19:39:08 »

Возвращаясь к вопросу с запретом vkontakte и odnoklassniki. Какой должен быть скрипт, чтобы запретить эти сайты в рабочие дни в рабочее время с 9-30 до 18-30 определенным товарищам?

Текст расширения будет таким:

Код:
--[[ <HCExtension>
@name          Блокировать загрузку определенных сайтов определенным пользователям в определенное время (R-Block)
@author        DenZzz
@version       0.1 для HC v1.00 RC2 (1.0.0.295) и возможно выше
@rule           odnoklassniki|vkontakte
@event         RequestHeaderReceived/Request
</HCExtension> ]]


function Request()
-- Начальные настройки:
local time_min = 9 + 30/60  -- от этого времени в часах и минутах, деленных на 60
local time_max = 18 + 30/60 -- до этого времени в часах и минутах, деленных на 60
local user_list = [[Tоварищ|Раб|Enemy]]  -- Список пользователей в формате RegExp

if re.find(hc.user_name, user_list) then
-- Узнаем текущее системное время
local t = os.date("*t")
local cur_time = t.hour + t.min/60  -- переводим в часы
-- Если текущее системное время от time_min до time_max и день недели рабочий, то
if cur_time >= time_min and cur_time < time_max and t.wday >=2 and t.wday <= 6 then
hc.action = 'stop'  -- Блокируем загрузку
hc.monitor_string = hc.monitor_string..'R-Block '
end
end
end  -- Конец функции Request
« Последнее редактирование: 09 августа 2010, 19:55:31 от DenZzz » Сообщить модератору   Записан
Ubiquitous_Nothing
Новичок
*

Репутация: +0/-0
Offline Offline

Сообщений: 8


« Ответ #24 : 15 октября 2010, 15:06:06 »

Прошу помощи со следующим:
Код:
--[[ <HCExtension>
@name          Маски списков для пользователей
@event         RequestHeaderReceived/allow
</HCExtension> ]]

function allow()
if hc.user_list == [[Admin-pc|Admin|local]] then
hc.white_mask = 'Б'
elseif hc.user_list == [[Бухг-1|Бухг-2|Бухг-3|Секретарь|Библиотекарь|24-018-1|13-0|]] then
hc.white_mask = 'Б'
elseif hc.user_list == [['14-0'|'dct'|'все'|'Библиотека ОД'|'21 каб.'|'4-0'|'23-0'|'27-0'|'18-2'|'18-3'|'18-4'|'18-5'|'18-6'|'18-7'|'18-8'|'18-9'|'18-10'|'18-11'|'18-12'|'18-0']] then
hc.action = 'stop-'
end
end
Пользователи из третьего списка, например, 14-0 преспокойно открывают страницы не включенные в БС, хотя, как я понимаю hc.action = 'stop-' должен заблокировать загрузку страницы отсутствующей в БС но этого не происходит и просто срабатывает БС и ЧС
Сообщить модератору   Записан
DenZzz
Модератор
*****

Репутация: +179/-11
Offline Offline

Сообщений: 5589



« Ответ #25 : 15 октября 2010, 15:29:42 »

1. Нежелательно создавать свои переменные в таблице hc, типа hc.user_list.
2. Нельзя значение переменной hc.user_list просто сравнивать с рег.выражением.
3. Кавычки в рег.выражениях не нужны.

Учитывая высказанное, твой скрипт должен выглядеть примерно так:

Код:
--[[ <HCExtension>
@name          Маски списков для пользователей
@event         RequestHeaderReceived/allow
</HCExtension> ]]

function allow()
if re.find(hc.user_name, [[Admin-pc|Admin|local]]) then
hc.white_mask = 'Б'
elseif re.find(hc.user_name, [[Бухг-1|Бухг-2|Бухг-3|Секретарь|Библиотекарь|24-018-1|13-0]]) then
hc.white_mask = 'Б'
elseif re.find(hc.user_name, [[14-0|dct|все|Библиотека ОД|21 каб.|4-0|23-0|27-0|18-2|18-3|18-4|18-5|18-6|18-7|18-8|18-9|18-10|18-11|18-12|18-0]]) then
hc.action = 'stop-'
end
end
Сообщить модератору   Записан
Ubiquitous_Nothing
Новичок
*

Репутация: +0/-0
Offline Offline

Сообщений: 8


« Ответ #26 : 18 октября 2010, 14:30:01 »

DenZzz, спасибо!
теперь образовывается следующая проблема.
Пользователь, которому назначено stop- не может получить даже страниц из БС, к примеру #10#~#True#~#+rzd\.ru#~##~##~#True#~#Fal#~#Fal#~#Fal#~#Fal#~#Fal
вот лог
Код:
18.10.10 14:08:54,156 # 5: Start connection from client

18.10.10 14:08:54,156 # 5: Connection from 1.1.20.3:3430 to HC Version 1.00 RC3 (1.0.0.303)

18.10.10 14:08:54,156 # 5: Ur name: 14-0

18.10.10 14:08:54,171 # 5/6 >>> URL: http://rzd.ru/
DeniedDo:
GET http://rzd.ru/ HTTP/1.1
Ur-Agent: Opera/9.80 (Windows NT 5.1; U; ru) Presto/2.6.30 Version/10.62
Host: rzd.ru
Accept: text/html, application/xml;q=0.9, application/xhtml+xml, image/png, image/jpeg, image/gif, image/x-xbitmap, */*;q=0.1
Accept-Language: ru-RU,ru;q=0.9,en;q=0.8
Accept-Chart: iso-8859-1, utf-8, utf-16, *;q=0.1
Accept-Encoding: deflate, gzip, x-gzip, identity, *;q=0
Cache-Control: no-cache
Connection: Keep-Alive, TE
TE: deflate, gzip, chunked, identity, trailers


18.10.10 14:08:54,171 # 5 <<< URL: http://rzd.ru/
HTTP/1.1 430 Blocked (HC)
rver: HandyCache/1.00 RC3 (1.0.0.303)
Content-Type: text/html
Pragma: no-cache
Connection: Keep-alive
Content-Length: 598
Сообщить модератору   Записан
mai62
Автор HC
*****

Репутация: +226/-4
Offline Offline

Сообщений: 6383


« Ответ #27 : 18 октября 2010, 14:53:40 »

Ты неправильно написал правило
+rzd\.ru
Плюс в начале предполагает упрощенный синтаксис записи правила, а дальше применено \. из синтаксиса регулярных выражений. Надо писать так +rzd.ru или так rzd\.ru
Сообщить модератору   Записан
Ubiquitous_Nothing
Новичок
*

Репутация: +0/-0
Offline Offline

Сообщений: 8


« Ответ #28 : 18 октября 2010, 15:22:22 »

mai62, спасибо, действительно помогло! И отдельное спасибо за оперативность в разрешении возникающих вопросов.
Сообщить модератору   Записан
reverdatto
Новичок
*

Репутация: +0/-0
Offline Offline

Сообщений: 2


« Ответ #29 : 25 августа 2011, 11:53:07 »

Помогите чайнику у меня следующая проблема: есть 5 компов в сети (ip 192.168.0.1-192.168.0.5) нужно чтоб на 3х обновлялся только антивирус а на 4том был доступ к нету без ограничений.
Сообщить модератору   Записан
mai62
Автор HC
*****

Репутация: +226/-4
Offline Offline

Сообщений: 6383


« Ответ #30 : 26 августа 2011, 22:50:34 »

reverdatto
Эту задачу нужно решать с помощью расширения. Расширение для аналогичной задачи есть здесь
http://handycache.ru/forum/index.php?topic=1120.msg18323#msg18323
Сообщить модератору   Записан
DenZzz
Модератор
*****

Репутация: +179/-11
Offline Offline

Сообщений: 5589



« Ответ #31 : 27 августа 2011, 00:36:32 »

И еще здесь:
http://handycache.ru/component/option,com_smf/Itemid,10/topic,2716.0/
Сообщить модератору   Записан
reverdatto
Новичок
*

Репутация: +0/-0
Offline Offline

Сообщений: 2


« Ответ #32 : 27 августа 2011, 22:09:39 »

Спасибо!
Сообщить модератору   Записан
goros
Новичок
*

Репутация: +0/-0
Offline Offline

Сообщений: 5


« Ответ #33 : 28 сентября 2011, 11:13:08 »

Требуется:
компу с IP_1 полный доступ, компу с IP_2 - только белый список.
Я настроил:
- в черном списке .* т.е. запрещает ВСЁ.
- в белом списке, в поле "Правило" +имя_сайта1.ru, "птичка" на Черном списке.
В Расширениях:
--[[ <HCExtension>
@name          Фильтр по IP
@event         RequestHeaderReceived/allow
</HCExtension> ]]

function allow()

   if hc.user_ip == 'IP_1' then
   hc.white_mask = 'WB'    -- Отключает белый, черный список
   end
end

Комп с IP_2 заходит правильно, применяется только белый список, остальное блокирует.
Почему компу с IP_1 не отключаются ограничения?
В какие кавычки должны быть прописаны переменные:  'IP_1' или "IP_1" ?
Сообщить модератору   Записан
mai62
Автор HC
*****

Репутация: +226/-4
Offline Offline

Сообщений: 6383


« Ответ #34 : 28 сентября 2011, 12:31:15 »

У меня Ваше расширение работает. Вы не забыли после правки и сохранения расширения перечитать его в списке расширений?
Цитировать
В какие кавычки должны быть прописаны переменные:  'IP_1' или "IP_1" ?
Любые.
Сообщить модератору   Записан
goros
Новичок
*

Репутация: +0/-0
Offline Offline

Сообщений: 5


« Ответ #35 : 28 сентября 2011, 12:36:05 »

У меня Ваше расширение работает. Вы не забыли после правки и сохранения расширения перечитать его в списке расширений?
Пересчитывал, всё равно не работает, блокирует.
Сообщить модератору   Записан
mai62
Автор HC
*****

Репутация: +226/-4
Offline Offline

Сообщений: 6383


« Ответ #36 : 28 сентября 2011, 13:06:05 »

Попробуйте изменить Ваше расширение до такого
Код:
--[[ <HCExtension>
@name          Фильтр по IP
@event         RequestHeaderReceived/allow
</HCExtension> ]]

function allow()

hc.put_to_log(hc.user_ip)
if hc.user_ip == 'IP_1' then
         hc.white_mask = 'WB'    -- Отключает белый, черный список
hc.put_to_log(hc.white_mask)
   end
end
Включите лог в НС и посмотрите, что будет в логе.
Сообщить модератору   Записан
goros
Новичок
*

Репутация: +0/-0
Offline Offline

Сообщений: 5


« Ответ #37 : 29 сентября 2011, 03:12:40 »

Включите лог в НС и посмотрите, что будет в логе.
Изменил расширение, как Вы написали.
Включил в НС - Настройки - Вид - Сохранять содержимое монитора.
Судя по логу, расширение вообще не применяется...
Часть лога
Код:
29.09.2011/08:56:01	User_8:29:29/'IP'	http://www.sitekiosk.ru/                       0	0/142	0	0	"403 Forbidden (HC)"	Ч.1
29.09.2011/08:56:01 User_8:29:29/'IP' http://www.sitekiosk.ru/favicon.ico        0 0/142 0 0 "403 Forbidden (HC)" Ч.1
29.09.2011/08:56:03 User_8:29:29/'IP' http://www.nalog.ru/                       0 0/142 0 0 "403 Forbidden (HC)" Б.1, Ч.1
29.09.2011/08:56:03 User_8:29:29/'IP' http://www.nalog.ru/favicon.ico            0 0/142 0 0 "403 Forbidden (HC)" Б.1, Ч.1
Сайт http://www.nalog.ru/ в белом списке (для тестирования этот сайт один в белом списке), но для эксперимента "птичку" на Черном списке отключил.
Сообщить модератору   Записан
mai62
Автор HC
*****

Репутация: +226/-4
Offline Offline

Сообщений: 6383


« Ответ #38 : 29 сентября 2011, 09:16:12 »

Вы не тот лог включили. Надо нажать кнопку Вести лог (оранжевая стрелка) справа от монитора.
Сообщить модератору   Записан
goros
Новичок
*

Репутация: +0/-0
Offline Offline

Сообщений: 5


« Ответ #39 : 29 сентября 2011, 10:02:41 »

Помогите разобраться...
Выкладываю часть лога, где идет блокировка сайта www.sitekiosk.ru В белом списке его нет, но в расширении установлено, что для IP 10.114.134.52 отключается белый и черный список.
Код:
29.09.11 15:29:22,405 # 6580: Start connection from client
29.09.11 15:29:22,436 # 6580: Connection from 10.114.134.52:3125 to HC Version 1.00 RC3 (1.0.0.193)
29.09.11 15:29:22,436 # 6581: Start connection from client
29.09.11 15:29:22,467 # 6581: Connection from 10.114.134.52:3126 to HC Version 1.00 RC3 (1.0.0.193)
29.09.11 15:29:22,467 # 6580: User name: User_8:29:29
29.09.11 15:29:22,499 # 6580 -=< MESSAGE FROM EXTENSION >=- C:\Program Files\HandyCache\Extensions\Filtr_IP.lua
29.09.11 15:29:22,499 # 6580/6970 >>> URL: http://sitecheck2.opera.com/?host=www.sitekiosk.ru&hdn=0heFkdCv1EkclDoB4yz%2Bog==
DeniedDo:
GET http://sitecheck2.opera.com/?host=www.sitekiosk.ru&hdn=0heFkdCv1EkclDoB4yz%2Bog== HTTP/1.1
User-Agent: Opera/9.80 (Windows NT 5.1; U; ru) Presto/2.9.168 Version/11.51
Host: sitecheck2.opera.com
Accept: text/html, application/xml;q=0.9, application/xhtml+xml, image/png, image/webp, image/jpeg, image/gif, image/x-xbitmap, */*;q=0.1
Accept-Language: ru-RU,ru;q=0.9,en;q=0.8
Accept-Encoding: gzip, deflate
Cookie: __kti=1314601783185,http%3A%2F%2Fwww.opera.com%2Fdocs%2Fplugins%2Finstallation%2F%23application-x-iso-image,; __ktv=b4f-6ff7-954c-a1d132145f4f94
Pragma: no-cache
Cache-Control: no-cache
Connection: Keep-Alive
29.09.11 15:29:22,530 # 6580 <<< URL: http://sitecheck2.opera.com/?host=www.sitekiosk.ru&hdn=0heFkdCv1EkclDoB4yz%2Bog==
HTTP/1.1 403 Forbidden (HC)
Server: HandyCache/1.00 RC3 (1.0.0.193)
Content-Type: text/html
Connection: Keep-alive
Content-Length: 226
29.09.11 15:29:22,561 # 6581: User name: User_8:29:29
29.09.11 15:29:22,874 # 6581 -=< MESSAGE FROM EXTENSION >=- C:\Program Files\HandyCache\Extensions\Filtr_IP.lua
29.09.11 15:29:22,905 # 6581/6971 >>> URL: http://www.sitekiosk.ru/
DeniedDo:
GET http://www.sitekiosk.ru/ HTTP/1.1
User-Agent: Opera/9.80 (Windows NT 5.1; U; ru) Presto/2.9.168 Version/11.51
Host: www.sitekiosk.ru
Accept: text/html, application/xml;q=0.9, application/xhtml+xml, image/png, image/webp, image/jpeg, image/gif, image/x-xbitmap, */*;q=0.1
Accept-Language: ru-RU,ru;q=0.9,en;q=0.8
Accept-Encoding: gzip, deflate
Cookie: PHPSESSID=a9311082c57970ec78c327e10ccb1af1; BITRIX_SM_GUEST_ID=90100; BITRIX_SM_LAST_VISIT=29.09.2011+03%3A03%3A08; BITRIX_SM_SALE_UID=130785
Pragma: no-cache
Cache-Control: no-cache
Connection: Keep-Alive
29.09.11 15:29:22,936 # 6581 <<< URL: http://www.sitekiosk.ru/
HTTP/1.1 403 Forbidden (HC)
Server: HandyCache/1.00 RC3 (1.0.0.193)
Content-Type: text/html
Connection: Keep-alive
Content-Length: 169
Сообщить модератору   Записан
Страниц: 1 [2] 3 4  Все   Вверх
  Отправить эту тему    Печать  

 
Перейти в: