Order Allow,Deny или Deny,Allow??? / Habr

Конфигурировал CUPS, в процессе возникла непонятка с директивой Order, которая устанавливает порядок чтения из директив Allow и Deny. На apache.ru есть об этом информация, но не полная и с опечаткой/ошибкой. Я перевёл статью с httpd.apache.org + спроецировал материал на локальные сети. Авось пригодится кому-нить.

Итак, директива Order, вместе с директивами Allow и Deny, контролирует трёх-шаговую систему контроля доступа. Первый шаг обрабатывает или все директивы Allow, или все директивы Deny. Второй шаг разбирает оставшуюся директиву (Deny или Allow). Третий шаг принимает все запросы, которые не соответствуют ни первой, ни второй.

Обратите внимание, что все директивы, Allow и Deny, обрабатываются, нетипично поведению сетевых экранов (firewall), где используется только первая директива. Результирующим является последнее соответствие (также нетипично поведению сетевых экранов).

Order Deny,Allow
Deny from all
Allow from 192.168.1.*

В данном примере, если пытаться следовать логике firewall, запрет доступа реализован для всех хостов, и разрешение 192.168.1.* не сработает, в то время, как в соответствии с принципами рассматриваемых конфигурационных файлов apache (в том числе cupsd.conf) доступ хостам из подсети 192.168.1.* разрешён.

Дополнительно, порядок, в котором строки следуют в конфигурационном файле не существенен — все строки Allow выполняются как единая группа, все строки Deny, соответственно, как другая группа, и умолчательное состояние рассматривается отдельно.
Порядок может быть одним из:

Allow,Deny
Сперва, проверяются все директивы Allow; по крайней мере одна должна соответствовать, или запрос отвергается. Далее, провеляются все директивы Deny. Если какие-либо соответствуют, то запрос отвергается. Вконце, любой запрос, который не соответствует директиве Allow или Deny отвергается по умолчанию.

Deny,Allow
Сперва, проверяются все директивы Deny; если какая-либо соответствует, то запрос отвергается, если нет соответствия в директиве Allow. Любой запрос, который не соответствует директиве Allow или Deny пропускается.

Ключевые слова могут быть разделены только запятой, никакие пробелы между ними не допустимы.

Соответствие Результат Allow,Deny Результат Deny,Allow
Соответствует только Allow Запрос разрешён Запрос разрешён
Соответствует только Deny Запрос отклонён Запрос отклонён
Нет соответствий По умолчанию действует вторая директива: отклонён По умолчанию действует вторая директива: разрешён
Соответствуют обе Allow & Deny Управляет конечное соответствие: отклонён Управляет конечное соответствие: разрешён

В нижеприведённом примере, всем хостам в подсети 192.168.1.* доступ разрешён.

Order Deny,Allow
Deny from all
Allow from 192.168.1.*

В следующем примере, всем хостам из подсети 192.168.1.* доступ разрешён, за исключением хостов 192.168.1.5 и 192.168.1.24, всем другим хостам из других подсетей доступ запрещён, т.к. для сервера состояние по умолчанию Deny, отказать в доступе.

Order Allow,Deny
Allow from 192.168.1.*
Deny from 192.168.1.5
Deny from 192.168.1.24

С другой стороны, если порядок в директиве Order в последнем примере поменять на

Deny,Allow, всем хостам доступ будет разрешён. Это случится потому, что не считая актуальным следование директив в конфигурационном файле, данная директива Allow из 192.168.1.* будет сверена последней, и перекроет отказ в доступе с 192.168.1.5 и 192.168.1.24 директивы Deny. Всем хостам не из 192.168.1.* также будет разрешён доступ, т.к. состояние по умолчанию — Allow.

Оригинал

Какие-то моменты могут быть непонятны после первого прочтения, однако, их тщательный разбор, шаг за шагом, не оставит у изучающего сомнений. Всё логически верно.

habr.com

Как в htaccess запретить доступ по IP диапазону

Как в .htaccess работает блокировка по IP

Если вас интересует, как заблокировать доступ по IP к сайту нежелательным личностям, спамерам и прочим, то вам надо создать или отредактировать файл

.htaccess и воспользоваться синтаксисом Order Allow,Deny либо Order Deny,Allow. Между ними есть разница:

  • Order Allow,Deny
    Сначала обработаются разрешающие правила Allow, потом запрещающие Deny, а всё, что не попадает под них, будет запрещено;
  • Order Deny,Allow
    Сначала будут обработаны запрещающие правила Deny, потом разрешающие Allow, а все, что не попадут под них, будут разрешены по умолчанию.

Обратите внимание на синтаксис, никаких лишних пробелов, иначе можно вызвать ошибку

500 Internal Server Error

Если это касается всего сайта, файл создаётся в корне, если нужно закрыть лишь определённую его часть, например, админку, файл .htaccess должен располагаться непосредственно в этом разделе.
Ну, и конечно же, ваш сервер (бекенд или рабочий) должен быть Apache. Если ваш рабочий сервер NGINX + php-fpm, то править придётся конфигурационный файл nginx.

Забанить спамера по IP диапазону

Order Deny,Allow
Deny from 192.168.1.1

Это был пример того, как забанить IP (192.168.1.1) спамера, не закрывая доступа всем остальным. Ещё можно пропустить последний октет IP-адреса, Deny from 192.168.1

, тогда будут забанены все пропущенные IP адреса. Однако, вы же понимаете, статичный IP блокировать глупо, он, скорее всего, динамический, поэтому мы берём IP и отправляемся определять подсеть с диапазоном IP, откуда он пришёл. Для этого воспользуемся любым Whois-сервисом, например, этим, ищем строку CIDR или, если её нет, NetRange

Определяем подсеть IP

Нам повезло, CIDR (Classless Inter-Domain Routing, Бесклассовая адресация) присутствует, а именно в таком формате лучше всего записывать диапазон IP в htaccess

Order Deny,Allow
Deny from 192.168.0.0/16

Если CIDR отстуствует, рекомендую воспользоваться калькулятором IP-диапазона в CIDR и данными из NetRange, чтобы получить CIDR.

Конвертируем диапазон IP в CIDR

Запретить доступ в админку

Чтобы запретить доступ в админку всем, кроме вашего IP, в htaccess, который должен располагаться в разделе админки, нужно прописать:

Order Allow,Deny
Allow from 192.168.0.0/16

Где 192.168.0.0/16— ваш IP или подсеть

Вот, скажем, вариант для WordPress. Файл .htaccess создаётся в /wp-admin/

<Files "admin-ajax.php">
  Allow from all
</Files>

Order Allow,Deny
Allow from 192.168.0.0/16

Обратите внимание, тут используется конструкция Files "admin-ajax.php". Она необходима для того, чтобы проходили ajax запросы.

Запретить доступ к файлам по IP

Вот пример, как можно защитить админку WordPress от посягательств хакеров. Здесь используется конструкция FilesMatch "регулярное выражение"

<FilesMatch  "^(wp-login|wp-config)\.php$">
  Order deny,allow
  Deny from all
  Allow from 192.168.0.0/16
</Fil

sheensay.ru

deny or allow — Перевод на русский — примеры английский

На основании Вашего запроса эти примеры могут содержать грубую лексику.

На основании Вашего запроса эти примеры могут содержать разговорную лексику.

When installing (or modifying) a printer through the command line, you can either deny or allow the usage of that printer to certain users:

При установке принтера (или изменении его свойств) с помощью команд, запускаемых из командной строки, вы можете разрешить или запретить отдельному пользователю доступ к заданному принтеру. Для этого воспользуйтесь следующей командой:

Предложить пример

Другие результаты

Because the Referral Chamber will either allow or deny the Prosecutor’s application for referral, only one appeal is anticipated in Uwinkindi.

Поскольку эти камеры могут поддержать или отклонить ходатайство Обвинителя о передаче дела, ожидается лишь одна апелляция по делу Увинкинди.

Immigration authorities have the discretionary power to allow or deny the entrance of anyone in Brazil’s national territory.

Иммиграционные власти имеют право по собственному усмотрению разрешить или запретить любому лицу въезд на национальную территорию Бразилии.

Firewall rules can be configured to allow or deny access to services and applications installed on the server.

An access list infact allows or deny the access to the service.

Automatic Program Configuration provides safety and simplicity by automatically configuring programs. Automatically decides whether to allow or deny Internet access to individual programs.

Автоматическая конфигурация программ обеспечивает безопасность и простоту настройки доступа в Интернет для каждого из установленных на компьютере приложений.

The ISA firewall is able to authenticate the user and allows or denies access based on the user’s domain credentials.

ISA-сервер сможет аутентифицировать пользователя и либо разрешить, либо запретить доступ на основе пользовательских учетных данных.

{allow, deny} files. In that case add a «portmap: hosts» entry to the hosts.allow file.

{allow, deny}, другими словами запрет в них на отклики portmapper.

TeaTimer can protect you against such changes again giving you an option: You can either Allow or Deny the change.

This allows you to create Access Rules that apply to users and groups and allow or deny access to any protocol, site, or content, based on a user account or group membership.

Таким образом, вы можете создавать правила доступа, которые применяются к пользователям или группам, для разрешения или запрещения доступа к любому протоколу, сайту или содержимому на основе учетной записи пользователя или его членства в группе.

This means that it does not simply allow or deny packets based on the packet header but determines whether the connection between both ends is valid according to configurable rules before it opens a session and allows data to be exchanged.

Это значит, что он не только разрешает или запрещает пересылку пакетов на основании их заголовка, но и определяет перед открытием сессии на основании настраиваемых правил, что оба адресата реально существуют.

Moreover, the Government of the United States denies visas that would allow Cuban professionals in these fields to attend scientific events there and does not permit scientific exchange with specialists and professors in the specialties.

Одной из ключевых в этом отношении является проблема неустойчивости и постоянного роста на международных рынках цен на продовольствие и нефть, в которых Куба остро нуждается для удовлетворения своих потребностей.

Once you are able to use Remote Access Policy to assign VPN access permission, you can take advantage of group membership to allow or deny access to the VPN server.

Как только вы можете использовать политику удаленного доступа для выдачи прав на VPN доступ, вы можете воспользоваться преимуществом группового членства, чтобы разрешать или запрещать доступ к VPN серверу.

He reiterates his claims and highlights the State party’s failure to deny or respond to any of his allegations made.

Он подтвердил свои утверждения и особо отметил неспособность государства-участника отклонить ни одно из них или ответить на них.

The reasons for which States discriminatorily deny or deprive persons of their right to citizenship are often rooted in racist ideologies.

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

Despite the above legal framework, States continue to engage in practices that discriminatorily deny or deprive persons of citizenship.

Несмотря на указанную выше правовую основу, государства по-прежнему практикуют дискриминационный отказ лицам в гражданстве или лишение их гражданства.

In addition, the absence of regulatory legislation cannot be invoked either to deny or to undermine any right or guarantee.

Кроме того, отсутствие регламентирующего закона не может служить предлогом для отрицания или ущемления какого бы то ни было права или гарантии.

No one is entitled to deny or restrict a citizen’s property rights.

Никто не вправе лишать и ограничивать право гражданина на собственность.

Still other countries continue to deny or take little or minimal action to halt the spread of HIV.

Есть также страны, которые по-прежнему отказываются принимать хоть какие-то меры для борьбы с распространением ВИЧ.

She either denies or… Hangs up the phone on me.

context.reverso.net