Проверка HTTP_REFERER работает плохо

У меня есть следующая конфигурация:

list.map
#################
http:////www.badserver.com http://www.redirectedserver.com
http:////www.badserver.com/attack.html http://www.redirectedserver.com
#################


RewriteMap phishing txt:/opt/rweb/list.map
RewriteMap lc int:tolower
RewriteCond %{HTTP_REFERER} ^https?://([^:/?]+)
RewriteCond ${lc:%1} (.+)
RewriteCond ${phishing:%1|NOT-FOUND} !=NOT-FOUND
RewriteRule ^ http://www.server.com [L]

Проблема в том, что последний RewriteCond работает не очень хорошо. %1 должно быть только доменным именем, но его нельзя найти в list.map.

поэтому, если реферером является http://www.badserver.com/badsite.html он также должен перенаправить запрос.

Может кто-нибудь может помочь мне с этой проблемой.

Если я использую RewriteCond ${phishing:%{HTTP_REFERER}|NOT-FOUND}!=NOT-FOUND вместо RewriteCond ${phishing:%1|NOT-FOUND}!=NOT-FOUND, значит, он работает.

REFERER - www.badserver.com/attack.html и указан в list.map. Я только хочу проверить, находится ли доменное имя реферера в списке list.map. Является ли это возможным?

0 ответов

Другие вопросы по тегам