Ограничения IP-адресов в текстовом формате

From EjudgeWiki

Навигация: Главная страница/Система ejudge/Использование/Конфигурационные файлы/Ограничение доступа по IP-адресам/Ограничения IP-адресов в текстовом формате

Текстовый формат конфигурационного файла используется в текущей версии системы для CGI-программ master, judge и team. Для задания ограничений на допустимые IP-адреса используются параметры конфигурационного файла allow_from, deny_from и allow_deny.

Значениями параметров allow_from и deny_from является текстовая строка, в которой перечислены спецификации IP-адресов (см. табл. Допустимые спецификации ограничения IP-адреса), разделённые пробелами. Параметр allow_deny принимает булевское значение. Значение false устанавливается по умолчанию (то есть если этот параметр не задан), либо может быть указано явно константой 0. Значение true устанавливается, либо если в конфигурационном файле присутствует только имя параметра без указания значения, либо при явном указании значения 1.

Параметр allow_deny определяет порядок просмотра IP-адресов, заданных в параметрах allow_from и deny_from.

  • Если параметр allow_deny установлен в false, включается режим «недоступный по умолчанию». В этом случае IP-адрес клиента сначала сопоставляется с IP-спецификациями, перечисленными в параметре deny_from. Если какая-либо из IP-спецификаций сопоставляется успешно, доступ этому клиенту запрещается. ЕслиIP-адрес не удовлетворяет ни одной из спецификаций параметра deny_from, IP-адрес клиента сопоставляется с IP-спецификациями, перечисленными в параметре allow_from. Если какая-либо из IP-спецификаций сопоставляется успешно, клиенту доступ предоставляется. Если IP-адрес не удовлетворяет ни одной из спецификаций параметра allow_from, доступ этому клиенту запрещается.
  • Если параметр allow_deny установлен в true, включается режим «доступный по умолчанию». В этом случае IP-адрес клиента сначала сопоставляется с IP-спецификациями, перечисленными в параметре allow_from. Если какая-либо из IP-спецификаций сопоставляется успешно, доступ этому клиенту предоставляется. Если IP-адрес не удовлетворяет ни одной из спецификаций параметра allow_from, IP-адрес клиента сопоставляется с IP-спецификациями, перечисленными в параметре deny_from. Если какая-либо из IP-спецификаций сопоставляется успешно, доступ клиенту запрещается. Если IP-адрес не удовлетворяет ни одной из спецификаций параметра deny_from, доступ этому клиенту предоставляется.

В примере

allow_deny

доступ открывается клиентам со всех адресов.

В примере

allow_deny = 1
allow_from = "192.168.0.1 192.168.1."
deny_from = "192.168."

доступ открывается клиентом со всех адресов, IP-адреса которых не начинаются с 192.168. Из клиентов с IP-адресами, начинающимися с 192.168 допускаются лишь клиенты с IP-адресом, начинающимся на 192.168.1 и клиенты с IP-адресом 192.168.0.1.

В примере

allow_deny = 0
allow_from = "127. 192.168.0.1 192.168.1."

доступ закрывается всем, кроме клиентов с IP-адресом, начинающихся с 127 (то есть для локально устанавливаемых соединений), клиентом с IP-адресом, начинающимся с 192.168.1 и клиентов с IP-адресом 192.168.0.1.