웹마스터 팁

SetEnvIf 와 SetEnvIfNocase 의 차이

2002.12.13 21:04

Dopesoul

SetEnvIf 로 환경변수 설정을 할 경우 대소문자를 가리기때문에
만약 앳플 운영자분 말대로 아래와 같이 설정할 경우

## 해당 IP 나 해당 도메인에서 접근시에는 파일머치에서 지정해준 파일을 사용할수있도록 허가함 ###
    SetEnvlf Referer 211.202.1.247 go_in
    SetEnvIf Referer "atpple.com" go_in

http://atpple.com 에 한해서는 링크방지가 적용이 되지만
ATTPLE.COM 으로 접속하게되면 또 다른 Case 가 적용되므로 저 스크립트가 적용되지 않습니다.
즉 atpple.com 으로 접속하면 그림이 잘나오지만 만약 대문자로 접속을 시도했다고 치면
그림이 보이지 않는 경우가 발생하는것이죠

SetEnvIfNoCase 로 바꿔야 합니다. 환경변수 설정을요.

김정균님 해설을 빌리자면

-------------------------------인용---------------------------------
간단하게 설명을 해 보도록 하자.

SetEnvIfNoCase Referer "http://(www.)?oops.org" perimit

일단 SetEnvIf를 사용하지 않고 SetEnvIfNoCase 를 사용한 이유를 생각해 보자. 현재의 도메인 네임 체계에서는 대소문자를 가리지 않는다. 그러므로 HTTP_REFERER 의 값이 http://www.oops.org 이든 http://WWW.OOPS.ORG 가 동일하게 적용이 된다. 즉 http://www.oops.org 에서만 image가 하이퍼 링크를 하는 것을 가능하게 하려 하는데 어느 누군가 http://WWW.OOPS.ORG 와 같이 대문자로 접근을 했을 경우 이를 처리를 하지 못하는 경우가 발생할수 있으므로 대소문자 구분을 하지 않는 SetEnvIfNoCase 를 사용하는 것이다.
----------------------------- End -----------------------------------

이렇게 되는 것입니다. 또한 www 에 대해서도 예외처리를 해주시지 않은점이 매끄럽지 않군요.
많은 강좌를 올려주시는것은 감사하지만 충분한 검증이 필요한것 같습니다.
여기 강좌를 올려주시는 많은 분들이 검증없이 올려주시는 경우가 있습니다. 제가 뭐라고 할 입장은 못돼지만
충분한 검증과 Hall 은 없는지.. 잘 생각하신후 강좌를 올려주시면
영양가 100% 의 강좌가 되겠습니다! 감사합니다.
제목 글쓴이 날짜
리눅스 rpm 명령어 활용(1): MRTG 설치 정인배 2002.12.14
DeX 님의 시간 동기화 스크립트를 편하고 안정적으로 변경한 리눅스용! [4] Dopesoul 2002.12.13
SetEnvIf 와 SetEnvIfNocase 의 차이 [7] Dopesoul 2002.12.13
[re] 저의 최종의견 입니다. [5] Dopesoul 2002.12.17
누군가 우리서버를 공격하고 있을때 응급처치! [13] Dopesoul 2002.12.13
srpms, alpha, i386 , i686 이 의미하는 것은? [1] Dopesoul 2002.12.12
레드햇(redhat)리눅스에서 rpm 관리 명령어 정인배 2002.12.09
[FreeBSD] Proftp + MySQL 연동 설치하기 [2] file DeX™ 2002.12.09
apache2 + mod_jk 100번의 닭질 끝에 찾아가는 사이트 DukeEYS 2002.12.09
mod_gzip 적용시 php 인클루드를 실패해서 포기하신분 보세요 [2] DukeEYS 2002.12.08
Zend Optimizer Full Pass Setup [3] DukeEYS 2002.12.08
오래간만에 찾아뵙는군요^^ [2] Dopesoul 2002.12.08
계정 등록 스크립트 [8] 편리 2002.12.05
[FreeBSD] 자동으로 시간 맞추기.. [1] DeX™ 2002.12.04
[계정삭제 스크립터] 편리님이 만드신 계정추가랑 연동됩니다. [4] file 김동현 2002.12.04
FTP 를 이용한 원격 백업 받기 [5] 최종우 2002.12.04
cron과 rsync 그리고 replication 을 이용한 데이터 백업 [3] 최종우 2002.12.03
cron을 이용한 자동 백업 받기 최종우 2002.12.02
리눅스 보안 : 기초적인 방화벽 : portsentry 설치하기 [2] 정인배 2002.11.29
[FreeBSD] qmail+mysql+vpopmail+qmailadmin 설치 [1] DeX™ 2002.11.26