2017-12-01 2 views
0

아파치 액세스 로그에 2 개의 IP 주소가 1 줄 대신 함께 나열되어 있으면 프록시를 사용하는 "사용자"라고 생각합니다.아파치의 프록시 사용자 차단

예 :

112.96.179.188 36.56.114.20 - [30/11월/2017 : 12 : 43 : 05 -0500] "POST/고객/HTTP/1.1"302 - "https://www.example.com/customer/ ''모질라/5.0 (Windows NT 6.1, WOW64, rv : 29.0) Gecko/20100101 Firefox/29.0 "

내가 관리하는 사이트의 모든 스팸 트래픽은이"사용자 "로부터 발생합니다.

htaccess에서 사이트 액세스를 차단하는 방법이 있습니까?

답변

1

아마도 X-Forwarded-For 헤더 일 겁니다.

일반적으로 헤더가있는 모든 요청은 a) 프록시 뒤의 누군가 또는 b) 프록시 인 것처럼 보이는 것으로 추측 할 수 있지만 헤더가 없다는 것은 누군가가 사용하지 않는다는 것을 확신 할 수 없습니다 프록시. 많은 프록시가이 정보를 전달하지 않습니다. 그리고 단순히 HTTP 헤더 일 뿐이므로 클라이언트가 원하는 값으로 설정할 수 있기 때문에 제공되는 콘텐츠를 신뢰할 수 없습니다. 그렇지 않은 경우

RewriteEngine On 
RewriteCond %{HTTP:X-Forwarded-For} !^$ 
RewriteRule . - [F,L] 

이 (해당 헤더가 비어 있지 않은 모든 요청을 일치합니다 :

당신이 요청을 해당 필드의 존재와 가치를 확인하고 거부 할 RewriteCond를 사용할 수 말했다 존재하는 경우, 그것은 비어있는 것처럼 취급됩니다).

+0

"X-Forwarded-For"는 "익명 프록시"에서 전송되지 않습니다. 일반적으로 표준 프록시 만 X-Forwarded-For를 보내고 익명 프록시는 헤더를 제거합니다. –