Правила доступа


Правило доступа - некоторая совокупность параметров для запрета или разрешения доступа к запрашиваемому ресурсу.

Правила доступа задается в файле, указанном в конфигурационном файле, в секции [ucfp.control], параметр rules (по умолчанию /usr/local/ucfp/etc/rules)

Правила задаются в формате "параметр = значение;". Завершающий символ ";" обязателен. Перечисление значений указывается через знак ",".

Общие принципы описания правил:

  1. Описания правила начинается с параметра do.

  2. Перечисление параметров возможно как в одну строку, так и в несколько.

  3. В правиле обязательным является только параметр do

  4. При определении правила можно использовать следующие параметры:

    do = deny/allow/pass
    deny - запретить доступ
    allow - разрешить доступ
    pass - пропустить правило (правило неактивно)

    urls = список URL запрашиваемых ресурсов

    clients - список IP-адресов клиентов. В качестве значения для данного параметра можно так же указывать описание подсети в формате x.x.x.x/x, или диапазон IP-адресов в формате x.x.x.x-x.x.x.x

    logins - список логинов клиентов

    ct - типы контента запрашиваемого файла

    ext - расширения файлов

    method - HTTP метод запроса (OPTIONS, GET, HEAD, POST, PUT, DELETE, TRACE или CONNECT)

    notify - скрипт оповещения

    size - максимальный размер файла в байтах

    lists - категории для проверки

    comment = комментарий (строка без каких-либо ограничений);

  5. При определении значений параметров urls, clients, logins, ct и ext допустимо использование объектов в формате $object_name, где object_name - значение параметра name объекта. При этом тип объекта должен соответствовать параметру правила

  6. При определении значений параметра lists допустимо только описание категорий в формате $object_name, где object_name - значение параметра name категории

  7. Пустой файл с описанием правил означает "разрешить всем и все без каких-либо проверок", т.е. do = allow; является последним правилом по умолчанию

  8. Прохождение правил осуществляется сверху вниз, до первого удовлетворения параметров запроса значениям параметров правила. Если запрос не удовлетворяет ни одному из правил, то действует правило по умолчанию. т.е. доступ к запрашиваемому ресурсу разрешается

  9. Сравнение параметров запроса и параметра правила осуществляются через логическое "и". Исключение составляют пары параметров ct/ext и urls/lists, сравнение которых происходит через логическое "или". Также через логическое "или" происходят проверки внутри категории, т.е. проверка по категории читается как: если запрашиваемый URL находится в базе данных (db) или в URL содержится запрещенное слово (parts) или анализатор контента отнес страницу к данной категории (tpl).

  10. Если в правиле указаны urls и lists одновременно, то ресурсы, перечисленные в urls, заносятся в базу данных первой в списке lists категории, т.е. блокировка таких ресурсов происходит с диагнозом "ресурс находится в базе данных категории".

(См. раздел Примеры: Примеры правил)