pmail
Новичок
Репутация: +0/-0
Offline
Сообщений: 2
|
 |
« Ответ #220 : 09 июля 2010, 12:50:21 » |
|
Добрый день! Может у кого есть скрипт для блокировки заданных типов файлов по размеру, Например, заблокировать загрузку изображений более 100 кбайт?*
|
|
|
|
|
mai62
|
 |
« Ответ #221 : 09 июля 2010, 13:19:01 » |
|
Возьми расширение eA_Dont_update_image_by_type.lua из дистрибутива НС и замени функцию Answer на эту function Answer()
-- Только для GET-запросов if hc.method == 'GET' then
-- забираем тип файла из заголовка 'Content-Type' type = GetContentType(hc.answer_header) -- есть ли в поле заголовка 'Content-Type' слово 'image' if type~=nil then img = string.find(type,'image',1,true) else img = nil end -- забираем размер файла из заголовка 'Content-Length' len = GetContentLength(hc.answer_header)
if img~=nil then -- если это картинка и ее размер больше 100 кбайт if len > 100*1024 then -- то блокируем загрузку hc.action = 'stop-' hc.monitor_string = hc.monitor_string..'block-img ' end end end
end -- Конец функции Answer
|
|
|
|
|
pmail
Новичок
Репутация: +0/-0
Offline
Сообщений: 2
|
 |
« Ответ #222 : 09 июля 2010, 15:23:28 » |
|
спасибо, работает, а не подскажете, как можно для определенных пользователей запретить закачку по типу файлов , например запретить user1 скачивать exe,zip,avi и пр
|
|
|
|
|
DenisVS
Новичок
Репутация: +0/-0
Offline
Сообщений: 15
|
 |
« Ответ #223 : 09 июля 2010, 23:41:01 » |
|
Расскажите, как работает Cache cleaner. Именно, что оно делает, чего именно и на сколько чистит.
|
|
|
|
|
mai62
|
 |
« Ответ #224 : 10 июля 2010, 00:09:53 » |
|
Cache cleaner автоматически через заданный промежуток времени "нажимает" кнопку Запустить на вкладке Очистка кэша.
|
|
|
|
|
Virus88
Новичок
Репутация: +0/-0
Offline
Сообщений: 8
|
 |
« Ответ #225 : 14 июля 2010, 14:54:51 » |
|
нужно несколько скриптов... 1 замена страницы заблокированного файла 2 статистика(количество юзеров... не нашел в проге) 3) бан по ип
|
|
|
|
|
mai62
|
 |
« Ответ #226 : 14 июля 2010, 16:01:26 » |
|
А ты смотрел эту ветку? Ничего похожего не нашел?
|
|
|
|
|
Virus88
Новичок
Репутация: +0/-0
Offline
Сообщений: 8
|
 |
« Ответ #227 : 14 июля 2010, 16:21:34 » |
|
смотрел в начале страниц 5.... подходящего не нашел... времени нет.... решил просто вопрос задать может помогут найти....
|
|
|
|
|
mai62
|
 |
« Ответ #228 : 14 июля 2010, 16:48:44 » |
|
Надо с конца смотреть.
|
|
|
|
|
Virus88
Новичок
Репутация: +0/-0
Offline
Сообщений: 8
|
 |
« Ответ #229 : 14 июля 2010, 17:28:24 » |
|
--[[ <HCExtension> @name Блокировать загрузку больших файлов в зависимости от времени (A-long-T) @author DenZzz @version 1.2 для HC v1.00 RC2 (1.0.0.175) и возможно выше @description Блокирует загрузку больших файлов в зависимости от системного времени @event AnswerHeaderReceived/Answer </HCExtension> ]]
function GetContentLength(s) _,_,x = string.find(s, '[cC]ontent%-[lL]ength: *(%d+)') if x==nil then return -1 else return tonumber(x) end end
function Answer() -- Узнаем текущее системное время local time = os.date("*t") -- Если системное время с 20:00 до 24:00, то if time.hour >= 10 then
-- забираем размер файла из заголовка 'Content-Length' local len = GetContentLength(hc.answer_header)
-- если размер файла есть в заголовке и он больше 10 МБайт if len > 10485760 then -- и действие HC еще не присвоено или присвоено 'Сохранять', то блокировать загрузку if hc.action=='' or hc.action==nil or hc.action=='save' or hc.action=='save-' then hc.answer_body = "file=c:\\obed.htm" hc.action = 'stop' hc.put_msg(10, GetContentLength(hc.answer_body)) hc.monitor_string = hc.monitor_string ..'A-long-T' end end end end -- Конец функции Answer нашел вот это но оно не работает((( и еще там по времени я удал время ниже прочел как справить чтобы заработало --[[ <HCExtension> @name Блокировать загрузку больших файлов в зависимости от времени (A-long-T) @author DenZzz @version 1.2 для HC v1.00 RC2 (1.0.0.175) и возможно выше @description Блокирует загрузку больших файлов в зависимости от системного времени @event AnswerHeaderReceived/Answer </HCExtension> ]]
function GetContentLength(s) _,_,x = string.find(s, '[cC]ontent%-[lL]ength: *(%d+)') if x==nil then return -1 else return tonumber(x) end end
function Answer() -- Узнаем текущее системное время -- Если системное время с 20:00 до 24:00, то
-- забираем размер файла из заголовка 'Content-Length' local len = GetContentLength(hc.answer_header)
-- если размер файла есть в заголовке и он больше 10 МБайт if len > 3000000 then -- и действие HC еще не присвоено или присвоено 'Сохранять', то блокировать загрузку if hc.action=='' or hc.action==nil or hc.action=='save' or hc.action=='save-' then hc.answer_body = "file=D:\\HandyCache\Extensions\obed.htm" hc.answer_header = 'stop' hc.put_msg(10, GetContentLength(hc.answer_body)) hc.monitor_string = hc.monitor_string ..'A-long-T' end end end end -- Конец функции Answer но все равно не работает и еще нужно както ограничить число пользователей на 1 акаунте...
|
|
|
|
|
DenZzz
|
 |
« Ответ #230 : 14 июля 2010, 23:15:58 » |
|
но все равно не работает
Править скрипты, не зная теории - дело не благодарное! Оба этих скрипта некорректны, поэтому и не работают. 1 замена страницы заблокированного файла
Штатная опция "Показывать файл" Черного списка не устроит? 2 статистика(количество юзеров... не нашел в проге) Есть отдельная вкладка рядом с настройками. 3) бан по ип Кого надо банить по IP - юзера или сайт? Есть и то и другое. Первое через скрипт или список Доступа, а второе можно просто в Черном списке прописать. и еще нужно както ограничить число пользователей на 1 акаунте...
Проще завести каждому пользователю по своему акаунту и авторизовать их по IP или по логину с паролем.
|
|
|
|
|
Virus88
Новичок
Репутация: +0/-0
Offline
Сообщений: 8
|
 |
« Ответ #231 : 15 июля 2010, 11:34:43 » |
|
DenZzz можешь поправить чтобы были коректны??
на счет замены в принципе можно перенаправление использовать.. но придется ставить вирт сервер... а так просто с кампа фаил указал и все....
количество юзеров... там показывает трафик.. .на вкладке о программе ипы... а я хочу чтобы количество пользователей в данный момент подключенных показывало...
каждому по Аккаунту... у меня их всего 5 а юзеров около 60)))
|
|
|
|
|
DenZzz
|
 |
« Ответ #232 : 15 июля 2010, 14:40:43 » |
|
DenZzz можешь поправить чтобы были коректны??
Могу, но зачем, когда есть более простое решение? на счет замены в принципе можно перенаправление использовать.. но придется ставить вирт сервер... а так просто с кампа фаил указал и все....
Да не нужен никакой виртуальный сервер! Есть штатная опция "Показывать файл" в Черном списке, которая будет выдавать указанный файл вместо заблокированного - хоть картинку, хоть HTML. Можно и через переадресацию сделать. Тогда кладешь файл в кэш в нужное место и заносишь путь в список "Не обновлять" и все, HC будет его выдавать и без всякого виртуального сервера! количество юзеров... там показывает трафик.. .на вкладке о программе ипы... а я хочу чтобы количество пользователей в данный момент подключенных показывало... На вкладке "О программе" нижний график показывает количество активных соединений. Количество активных пользователей можно узнать только через расширение, ну или просто в мониторе посмотреть, кто там запросы шлет. каждому по Аккаунту... у меня их всего 5 а юзеров около 60 Купи HC и будет больше! А искать пути обхода ограничений бесплатной версии на оф.сайте - это совсем не скромно и не разумно...
|
|
|
|
|
Virus88
Новичок
Репутация: +0/-0
Offline
Сообщений: 8
|
 |
« Ответ #233 : 15 июля 2010, 16:57:53 » |
|
я не ищу способы обхода... раз разрешено на 1 акаунте несколько юзеров, значит не запрещено...
|
|
|
|
|
mai62
|
 |
« Ответ #234 : 15 июля 2010, 17:05:45 » |
|
Вообще-то в лицензии написано, что можно использовать в некоммерческих целях (у тебя дома 60 юзеров?) и если количество пользователей Программы не превышает пяти. Пользователь имеет право Использовать Программу для ознакомительных целей в течение 30 (тридцати) дней с момента ее первого запуска (инсталляции). Использовать Программу для некоммерческих целей неограниченный срок в случае, если количество пользователей Программы не превышает пяти.
|
|
|
|
|
Virus88
Новичок
Репутация: +0/-0
Offline
Сообщений: 8
|
 |
« Ответ #235 : 15 июля 2010, 17:17:53 » |
|
хм... ну пользователей программы всего 2... использую в не коммерческих целей.... просто сделал прокси для знакомых...
|
|
|
|
|
NataschaS
Новичок
Репутация: +0/-0
Offline
Сообщений: 3
|
 |
« Ответ #236 : 09 августа 2010, 18:42:32 » |
|
Извините совсем не продвинутого юзера. Возвращаясь к вопросу с запретом vkontakte и odnoklassniki. Какой должен быть скрипт, чтобы запретить эти сайты в рабочие дни в рабочее время с 9-30 до 18-30 определенным товарищам? Не поняла где это сделать "в список Серверов-посредников необходимо добавить 2 строки (использовать команду Добавить из буфера):" Не нашла в скачанном архиве hc_script.zip файл luaR.lst Буду очень признательна за помощь.
|
|
|
|
|
DenZzz
|
 |
« Ответ #237 : 09 августа 2010, 19:46:21 » |
|
Возвращаясь к вопросу с запретом vkontakte и odnoklassniki. Какой должен быть скрипт, чтобы запретить эти сайты в рабочие дни в рабочее время с 9-30 до 18-30 определенным товарищам?
Привел пример здесь: http://handycache.ru/component/option,com_smf/Itemid,10/topic,2716.msg26936/#msg26936Сохрани его в файл с расширением .lua и добавь этот файл в список расширений HC через соответствующую вкладку в настройках HC. Не поняла где это сделать "в список Серверов-посредников необходимо добавить 2 строки (использовать команду Добавить из буфера):" Не нашла в скачанном архиве hc_script.zip файл luaR.lst
Все это делать уже не надо! Устарело! Тему надо было читать с конца и еще читать файл HCExtensions.html из комплекта HandyCache версии RC3 1.0.0.295.
|
|
|
|
|
Sogenius
Новичок
Репутация: +0/-0
Offline
Сообщений: 21
|
 |
« Ответ #238 : 15 августа 2010, 11:47:34 » |
|
Добрый день! Можно ли с помощью расширения заменить, либо вообще удалить все слова, наподобие "ИМХО", "УМВР", "ЧЯДНТ" и тому подобный мусор со страницы?
|
|
|
|
|
mai62
|
 |
« Ответ #239 : 15 августа 2010, 12:55:30 » |
|
Это можно сделать расширением СМ. Для этого нужно сделать свой файл с правилами замены. Первая строка файла должна быть такой: ## REPLACEMENTS Дальше должны быть записи в таком формате: правило для URL#~#Что заменить#~#Чем заменить здесь "правило для URL" - регулярное выражение, которое будет выделять URL, где нужна замена; Для твоей задачи нужно вписать такую строку: .#~#ИМХО|УМВР|ЧЯДНТ#~#
Этот файл нужно положить в папку СМ. Дальше открыть настройки СМ и вписать имя нового файла с правилами в текстовое поле рядом с галкой ContentMaster через запятую после ContentMaster_Default.txt.
|
|
|
|
|
|