Что Удовлетворяет апач, директива делают?

Мое предположение - то, что сервер перезапускает себя время от времени для предотвращения утечек ресурсов (память, соединения). Много больших сайтов столкнулись с проблемой из-за этого в прошлом (сервер исчерпает соединения и не бывший способный больше отвечать на любые запросы), так, чтобы, вероятно, превращенный это в сценарии установки.

Если Вы хотите узнать точно, я предлагаю проверить crontab корня или пользователя, под которым работает MySQL.

8
задан 30 January 2012 в 15:38
3 ответа

Я согласился бы с Вами, удовлетворение, все ничего не делает - без него, эти файлы были бы все еще отклонены.

1
ответ дан 2 December 2019 в 23:08
  • 1
    Да - С тех пор нет никаких Allow from или Require условия, Satisfy doesn' t имеют значение здесь (Вы can' t удовлетворяют условие это doesn' t существуют, таким образом, доступ запрещен). –  voretaq7 27 April 2010 в 17:25

TL;
В большинстве случаев эта строка не является строго необходимой, так как Satisfy All обычно является настройкой сервера по умолчанию. В этом случае линия не является строго необходимой.

Строка добавлена ​​в качестве дополнительной безопасности: «На всякий случай» сервер был настроен на использование параметра Satisfy Any по умолчанию.
Если сервер был специально настроен с использованием параметра «Удовлетворять любому», вы захотите, чтобы переопределил этот параметр, включив директиву Удовлетворять всем для защиты файлов, таких как .htaccess ].

Я не уверен, может ли файл htaccess переопределить директиву сервера по умолчанию «Satisfy» для всех папок в указанном файле htaccess или ниже него или нет.

За общий код, размещенный в Интернете, особенно когда он говорит вам, как правильно защитить файлы .htaccess , автор несет ответственность, не делая никаких предположений о настройках вашего сервера, которые могут подорвать безопасность документа. . Включение этой «дополнительной» строки гарантирует, что к вашим файлам htacess будет применена более безопасная настройка. Добавление директивы заставляет блок кода работать 100% времени,вместо того, чтобы оставлять файлы htaccess на волю случая, для небольшого набора серверов, которые настроены по-другому.

Согласно документации apache :

Satisfy Any | All :

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

... используется в разделах , и , а также в .htaccess

Эта директива полезна только в том случае, если доступ к определенной области ограничен как именем пользователя / паролем, так и адресом хоста клиента. В этом случае поведение по умолчанию (Все) состоит в том, чтобы потребовать, чтобы клиент прошел ограничение доступа по адресу и ввел действительное имя пользователя и пароль. При выборе варианта «Любой» клиент получит доступ, если он либо преодолеет ограничение хоста, либо введет действительное имя пользователя и пароль.

Поскольку значение по умолчанию - Удовлетворить все (единственный другой вариант - Satisfy Any ), вы можете не заметить разницы, если включите эту опцию. Однако файл конфигурации вашего сервера (или? Может быть, файл .htaccess в родительском каталоге? - я не уверен, возможно ли это или нет) может переопределить это значение по умолчанию.

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

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

1
ответ дан 2 December 2019 в 23:08

Поскольку я не могу комментировать, я добавлю здесь, что ответ @SherylHohman - это лучший ответ, потому что это важно для дополнительной безопасности. Таким образом, технически неверно утверждать, что без него он не имеет никакого эффекта (в отличие от принятого ответа), поскольку вы по-прежнему должны учитывать остальную часть конфигурации сервера. Однако я хотел бы добавить к ответу @SherylHohman:

  1. Файл конфигурации сервера (например, /etc/httpd/conf/httpd.conf ) мог бы иметь более обобщенный Satisfy Any заявление. Например, это важно, поскольку кто-то может потребовать имя пользователя / пароль для доступа ко всем сайтам на своем сервере (например, через Требовать группу [имя ), а затем разрешить обход с определенного IP-адреса или набора IP-адреса через Разрешить от [ip] , поэтому, если бы это было не указано, .htaccess был бы открыт, потому что нужно было бы объявить Satisfy Any .

  2. Каталоги в или выше в конкретном файле .htaccess не повлияют на , если они не являются разделом , который также специально соответствует .htaccess , который затем переопределит это правило, вместе с конфигурацией сервера, также содержащей необходимые директивы AllowOverride (например, Limit или All ). Я говорю, что это должен быть , потому что он используется в конфигурации сервера и обрабатывается после уровня (т.е. корневого уровня .htaccess ). Это потому, что разделы объединяются позже , и мне кажется, что .htaccess , конечно, обрабатывается после конфигурации сервера.

0
ответ дан 2 December 2019 в 23:08

Теги

Похожие вопросы