Для меня и апачских 2.2.14, это работает как чемпион на управление доступом на основе на группу
AuthType Basic AuthName "Secret Area for IT Only" AuthBasicProvider ldap AuthzLDAPAuthoritative on AuthLDAPGroupAttributeIsDN off AuthLDAPGroupAttribute memberUid AuthLDAPURL "ldap://ldap1.example.int ldap2.company.int/cn=int" Require ldap-group cn=it,ou=Groups,o=int
"интервал" является нашим внутренним доменом для непубличных серверов.
Просто укажите ключевую фразу «Запретить от» во включаемом файле:
<Location /secret/>
Order Allow,Deny
Allow from all
Deny from env=UnwantedRobot
Include conf.d/moredeny.inc
</Location>
In moredeny.inc
Deny from 192.168.1.1
Deny from 192.168.66.1
Deny from 192.168.1.1
«Грязный» способ - используйте sed
, чтобы добавить строку после шаблона env = UnwantedRobot
. Предполагая, что у вас есть следующее в httpd.conf
:
<Directory "/var/www/">
Order Allow,Deny
Allow from all
Deny from env=UnwantedRobot
</Directory>
, а файл ip.txt
включает:
1.2.3.4
5.6.7.8
, выполните следующую команду:
$ while read ip; do sed -i '/env=UnwantedRobot/ a\
\tDeny\ from\ '"$ip"'' httpd.conf; done < ip.txt
вы получите результаты :
<Directory "/var/www/">
Order Allow,Deny
Allow from all
Deny from env=UnwantedRobot
Deny from 5.6.7.8
Deny from 1.2.3.4
</Directory>
-i
означает редактировать файл на месте a
означает добавление