Hallo Gemeinschaft,
ich benötige einen Regulären Ausdruck innerhalb einer mod_security - Rule.
Die Quellvariable beinhaltet einen Ländercode "xx" (2,alphanum). zB. DE, RU, US.
In Worten soll er folgendes leisten:
"Prüfe die Zeichenkette in der Variable ENV_GEOIP_COUNTRY_CODE, ob diese die Zeichenkette "US" enthält. Wenn TRUE, dann prüfe, ob die Variable REMOTE_HOST die Zeichenkette "googlebot.com" oder "crawl.yahoo.net" NICHT enthält.
Ich will quasi alles was "US" ist, bis auf Google und Yahoo, blocken. Die zu prüfenden Strings sind einmal "crawl-66-249-71-103.googlebot.com" und "llf531020.crawl.yahoo.net" Ist der folgende zweite Ausdruck richtig?
Grüße
ich benötige einen Regulären Ausdruck innerhalb einer mod_security - Rule.
Die Quellvariable beinhaltet einen Ländercode "xx" (2,alphanum). zB. DE, RU, US.
In Worten soll er folgendes leisten:
"Prüfe die Zeichenkette in der Variable ENV_GEOIP_COUNTRY_CODE, ob diese die Zeichenkette "US" enthält. Wenn TRUE, dann prüfe, ob die Variable REMOTE_HOST die Zeichenkette "googlebot.com" oder "crawl.yahoo.net" NICHT enthält.
Ich will quasi alles was "US" ist, bis auf Google und Yahoo, blocken. Die zu prüfenden Strings sind einmal "crawl-66-249-71-103.googlebot.com" und "llf531020.crawl.yahoo.net" Ist der folgende zweite Ausdruck richtig?
Code:
SecFilterSelective ENV_GEOIP_COUNTRY_CODE "^US$" chain
SecFilterSelective REMOTE_HOST "(?!.googlebot\.com$)|(?!.crawl\.yahoo\.net$)"
Grüße