Подтвердить что ты не робот

Как отключить mod_security в файле .htaccess?

Как отключить mod_security с помощью файла .htaccess на сервере Apache?

Я использую WordPress в своем личном домене и размещаю сообщение, содержимое которого имеет какой-то блок кода, и, согласно моему хостинг-провайдеру, сказал, что mod_security дает ошибку, а мой IP-адрес перешел в брандмауэр из-за mod_security.

Итак, я хочу отключить mod_security с помощью файла .htaccess.

4b9b3361

Ответ 1

Это можно сделать, но, скорее всего, ваш хост внедрил mod_security по какой-то причине. Убедитесь, что они одобряют, что вы отключили его для своего собственного сайта.

Тем не менее, это должно сделать это;

<IfModule mod_security.c>
  SecFilterEngine Off
  SecFilterScanPOST Off
</IfModule>

Ответ 2

На некоторых серверах и веб-хостах можно отключить ModSecurity через .htaccess, но только в полном объеме - вы не можете отключить отдельные правила.

Вместо того, чтобы отключать его для всего сайта, лучше всего ограничить его конкретными URL-адресами. Вы можете указать, какие URL-адреса должны соответствовать регулярному выражению в инструкции <If> ниже...

### DISABLE mod_security firewall
### Some rules are currently too strict and are blocking legitimate users
### We only disable it for URLs that contain the regex below
### The regex below should be placed between "m#" and "#" 
### (this syntax is required when the string contains forward slashes)
<IfModule mod_security.c>
  <If "%{REQUEST_URI} =~ m#/admin/#">
    SecFilterEngine Off
    SecFilterScanPOST Off
  </If>
</IfModule>

Ответ 3

Просто чтобы обновить этот вопрос для mod_security 2.7. 0+ - они отключили возможность смягчать modsec через htaccess, если вы не скомпилируете его с флагом --enable-htaccess-config. Большинство хостов не используют эту опцию компилятора, поскольку она обеспечивает слишком слабую безопасность. Вместо этого vhosts в httpd.conf - это ваш вариант для управления modsec.

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

    - SecAction
    - SecRule

    - SecRuleRemoveByMsg
    - SecRuleRemoveByTag
    - SecRuleRemoveById

    - SecRuleUpdateActionById
    - SecRuleUpdateTargetById
    - SecRuleUpdateTargetByTag
    - SecRuleUpdateTargetByMsg

Больше информации на официальной вики Modsec

В качестве дополнительного примечания для пользователей 2.x: IfModule теперь должен искать mod_security2.c вместо старого mod_security.c

Ответ 4

Если вышеупомянутое решение не работает, попробуйте это:

<IfModule mod_security.c>
  SecRuleEngine Off
  SecFilterInheritance Off
  SecFilterEngine Off
  SecFilterScanPOST Off
  SecRuleRemoveById 300015 3000016 3000017
</IfModule>

Ответ 5

С некоторыми веб-хостами, включая NameCheap, невозможно отключить ModSecurity, используя .htaccess. Единственный вариант - связаться с технической поддержкой и попросить их изменить конфигурацию для вас.

Ответ 6

В файле .htaccess в корневом каталоге сайта измените следующую строку:

<ifmodule mod_security.c>

SecFilterEngine Off
SecFilterScanPOST Off

</ifmodule>

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

Ответ 7

Для тех, кто просто хочет обойти страницу ОШИБКИ для отображения контента на виртуальном хостинге. Вы можете попробовать использовать редирект в файле .htaccess. Если это, скажем, ошибка 406, на UnoEuro это, похоже, не сработало, просто отключив безопасность. Поэтому я использовал это вместо:

ErrorDocument 406 /

Тогда вы всегда можете изменить статус ошибки, используя PHP. Но учтите, что в моем случае это означает, что я открываю дверь для SQL-инъекций, поскольку я обхожу WAF. Поэтому вам необходимо убедиться, что вы либо используете свои собственные меры безопасности, либо включите безопасность снова как можно скорее.