2012-09-22 6 views
0

요즘 내 사이트는 스팸 HTTP 요청을하는 봇을 가진 사람들에 의해 공격 받고 있습니다. 모든 것은 기본적으로 임의의 의미있는 방식으로 (매우 심각한 일이없이) 필터링 될 수는 없지만 기본적으로 임의적 인 횡설수설입니다. 내가 발견 한 불일치는 리퍼러 문자열에있었습니다.블록 무효화 referer

[22/Sep/2012:03:27:50 +0000] "GET /vb/ HTTP/1.0" 403 345 "1mc9py1amv.net" "Mozilla/3.0 (compatible; NetPositive/2.2)" 

본인의 의견에는 프로토콜이 없습니다. 아무런 프로토콜없이 심판을 차단할 수있는 방법이 있습니까?

"http"또는 "https"가 포함되어 있거나 비어 있으면 허용되지만 다른 모든 항목은 거부됩니까?

나는

$HTTP["referer"] !~ "(http://.*|-)" { 
    url.access-deny = ("") 
} 

같은 있지만 금지 빈 심판을 시도하고 HTTPS를 허용하지 않았다.

답변

2
$HTTP["referer"] !~ "^($|https://.*|http://.*)" { 
      url.access-deny = ("") 
    } 

이것은 트릭을 수행했습니다. 당신이 비슷한 것을 만난다면 그것은 매우 유용합니다.