Назад | Перейти на главную страницу

Modsecurity разрешает доступ только из двух конкретных REFERER HEADER

У меня есть правило Modsecurity, которое блокирует все запросы, в которых заголовок Referer в браузере отличается от этого: sub1.example.com.

Таким образом, правило разрешает запросы только тогда, когда Referer заголовка sub1.example.com:

SecRule REQUEST_HEADERS:REFERER "!@rx (?i)^https?://sub1.example.com/" /
"id:'7001024',phase:1,log,deny,status:404,msg:'Blocking Wrong or Empty Referer'"

Мой вопрос: как я могу изменить это правило, чтобы также разрешать запросы со вторым референтом, например sub2.example.com

Я не лучший специалист с регулярным выражением, но я думаю, что это то, что вы пытаетесь сделать:

"!@rx (?i)^https\?://(?:sub1\.example\.com|sub2\.example\.com)/"

Это заблокирует все, что не соответствует:

https?://sub1.example.com/
https?://sub2.example.com/

Примечание: я добавил несколько побегов ? и .

Я также думаю, что вы могли бы добавить t:lowercase, и вам не пришлось бы использовать (?i) в регулярном выражении.