0

나는 htaccess에서 간단한 SetEnvIf Referer 메소드를 사용하여 빌드 한 웹 애플리케이션으로 트래픽을 제한하고 있으며 htaccess가 잘못된 '허용 된'IE6/7/8 트래픽을 차단하고있어 불만스러운 문제가있다. 사이트..htaccess setenvif referer IE6/7/8을 (를) 차단하고 IE9/FF/Chrome/Safari를 사용하고 있습니까?

파이어 폭스, 크롬, 사파리, 그리고 IE9는 아무 문제가 점점 없었다

허용 도메인이 있습니다.

가 이 응용 프로그램

2) 트래픽으로 동일한 도메인에서 오는 1) 트래픽이

오는 고객의 웹 사이트에서 다른 제 3 자 테스트를 위해

3) cnn.com *.

CNN.com의 경우 브라우저 도구를 사용하여 화면의 링크 대상을 새로운 대상 인 웹 응용 프로그램 주소로 바꿉니다.

내부 트래픽이 htaccess로 규칙에 따라, 작동

CNN.com 트래픽이 고객 사이트에서 오는

교통/7 IE6에서 작동하지 않습니다 작동 : 다음은 내가 찾은

/8 (9 : works)

나는 또한 $ _SERVER의 HTTP_REFERER를 인쇄하는 간단한 PHP 스크립트를 만들었습니다. 타사 페이지에 링크를 삽입하고 클릭 한 다음 내 테스트 페이지에서 결과를 찾는 것과 동일한 브라우저 도구 방법을 사용하고 있습니다. 내가 발견했습니다

내부 트래픽 보고서를 제대로 모든 브라우저에서

cnn.com 트래픽 보고서 제대로 모든 브라우저

제 3 자/고객의 웹 사이트가 IE를 통해 전송 레퍼러를받지 못하고있다 (8) . IE9가 작동합니다.

htaccess로 :

SetEnvIf Referer samedomain\.com intra_site_referral=1 
SetEnvIf Referer addressthatdoesntwork\.org intra_site_referral=1 
SetEnvIf Referer another3rdpartyaddressthatworks\.org intra_site_referral=1 
#SetEnvIfNoCase Referer "^$" intra_site_referral=0 
<FilesMatch "\.(html|js|css|jpg)$"> 
    Order Allow,Deny 
    Allow from env=intra_site_referral 
</FilesMatch> 

ErrorDocument 403 /restricted.html 

내 질문 :

가 내 말에 모든 가능한 오류를 소진 적이 있습니까?

고객의 웹 사이트/서버 리퍼러보고에 문제가 있다고 결론 내릴 수 있습니까?

htaccess를 참조하기 전에 리퍼러는 '안전하지 않음'이며 리퍼러는 위조 될 수 있습니다. 이 보호 방법은 중요하지 않습니다. 이는 앱의 잠재 고객을 내부 팀 및 고객의 잠재 고객으로 어느 정도 제한하는 것입니다. 읽기에 대한

감사합니다 ..

+0

당신의 .htaccess 파일보기 벌금의 지시 (당신이 SetEnvIfNoCase''사용할 수 있지만)에서 링크를 클릭하면 고객의 사이트에는 리퍼러가 포함되어 있지 않습니다. 귀하의 목적을 달성 할 수 있는지 여부는 확실하지 않습니다. –

+0

다른 브라우저에서 볼 수 있듯이 고객 사이트가 리퍼러를보고하는 것으로 보이지만 IE는 어떤 이유로 든 전달하지 않습니다. SetEvIfNoCase를 사용하여 setenvifnocase –

+0

과 동일한 결과를 시도해 보겠습니다 : /하지만 고마워! –

답변

0

과 같이 mod_rewrite를 사용해보십시오 :

RewriteEngine On 
RewriteCond %{HTTP_REFERER} !^$ 
RewriteCond %{HTTP_REFERER} !samedomain\.com [NC] 
RewriteCond %{HTTP_REFERER} !addressthatdoesntwork\.org [NC] 
RewriteCond %{HTTP_REFERER} !another3rdpartyaddressthatworks\.org [NC] 
RewriteRule \.(html|js|css|jpg)$ - [F]