Как отрицать доступ с одного хоста в домене

Я думаю, что вы ищете:

grep -E '^.{15} pattern'

Это будет нормально в большинстве случаев использования. Однако обратите внимание, что он не будет «соответствовать» только части шаблона , но все, что до него, также будет включено в сопоставление. Вы увидите это, выделив grep (если - цвет задан напрямую или был включен в псевдоним оболочки). Без цвета это повлияет на grep -o , который печатает только совпадающую часть. Например:

$ echo 'bla bla bla bla pattern' | grep -Eo '^.{15}( pattern)'
bla bla bla bla pattern

Чтобы избежать этого с помощью GNU grep, вы можете использовать выражение perl с поиском назад. Например:

$ echo 'bla bla bla bla pattern' | grep -Po '(?<=^.{15}) pattern'
 pattern

Это «соответствует» только части шаблона .

0
29.11.2018, 22:28
1 ответ

Вот что я бы сделал:

  • Я бы удостоверился, что в вашей директиве Order установлено значение Разрешить, Запретить.
  • Тогда я бы:

    Allow all granted        ## and the rest of the world!
    Allow host blah.xxx.com  ## --except for this one host in xxx.com
    Deny not host xxx.com   ## nobody from this domain gets in...
    

Но:

Allow host blah.xxx.com  ## --except for this one host in xxx.com

Бессмысленно, потому что это разрешено первым.

Потому что:

Order Allow,Deny
Allow from example.org
Deny from foo.example.org

Приказ предназначен для ограничения до хоста, а не от домена до хоста.

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

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

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

0
28.01.2020, 04:07

Теги

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