2013-10-20 2 views
0

apache 2.2에 리퍼러 헤더를 확인하고 요청을 삭제할지 또는 응답을 처리 할지를 결정하는 사용자 정의 모듈이 있습니다. Apache가 cloudfront cdn에 있으므로 user-agent 및 referrer와 같은 헤더가 전달되지 않습니다.apache 2.2에서 사용자 지정 처리기 전에 http 헤더를 설정하는 방법

해결책은 리퍼러와 함께 요청에 쿠키를 추가하고 아파치 측에서 리퍼러 헤더를 덮어 쓰는 데 사용합니다. 이것이 가능한가?

요약하면 쿠키에서 사용자 지정 값을 가져 와서 리퍼러 헤더에 넣고 사용자 지정 모듈에서 처리합니다.

<VirtualHost *:80> 
    RequestReadTimeout header=10-30,MinRate=500 
    RewriteEngine On 
    Header set Referer HTTP_COOKIE:referer 
    RequestHeader unset Authorization 
    <Location /getobject> 
      SetHandler getobject 
    </Location> 

브라우저에서 디버그 도구를 사용하여 테스트했는데 쿠키가 서버로 전송됩니다. 위 예제에서 시도했지만 작동하지 않습니다. 어떤 생각?

내가 서버에서 내가 사용할 수 있습니다 난 그 후 쿠키에 자바 스크립트를 통해 서버에

document.cookie="referrer="+window.parent.location; 

을 내가 필요한 헤더를 추가 할 수 있습니다 자신 에 대답 할 수

답변

0

SetEnvIfNoCase Cookie^$ "(referrer = \ w *: \/\/\ w *)" HTTP_MY_COOKIE = $ 1 
SetEnvIfNoCase HTTP_MY_COOKIE " (http : \/\/. * \ . \ w *)" Referrer = $ 1 
<IfModule mod_headers.c> 
    RequestHeader % { Referer } and Referrer 
</IfModule > 
관련 문제