웹마스터 팁

[re] 저의 최종의견 입니다.

2002.12.17 23:12

Dopesoul

병철님의 리플을 보다가 오류가 있어 다시 지적드립니다.

음.. 무엇이 잘못되었다는것인지 알수가 없군요..
SetEnvIfNoCase 에 대해 잘못이해하고 계신것 같군요.. SetEnvIfNoCase 는 대소문자를 구분짓기 위해 사용하는것입니다.

(대소문자를 구분짓지 않기 위해 쓰는것이죠. 즉 SetEnvIf 는 대소문자를 구분짓기위해 쓰는것이고 SetEnvIfNocase 는 대소문자를 구분짓지 않기위해 사용하는 것입니다. 오히려 병철님께서 잘못 이해하고 계신듯 하군요)

즉 http://atple.com 과 http://ATPPLE.COM 을 구분짓는것이지요

(그 반대입니다. 오히려 그것들을 구분짓지 않기위해 사용하는것이지요)

저것을 사용하게 된다면 SetEnvIfNoCase 에 지정된 문자(대/소문자)로 된 도메인접근에 대해서만 예외항목을 적용시키게 되는것입니다.
즉 님의 말과는 다른것입니다. SetEnvIfNoCase Referer "atpple.com" go_in 을 하게될경우 소문자로 링크한파일에 대해서 예외항목을 적용시키고 대문자로 링크한것에대해서는 받아들이지 않겠다는 것입니다.

이 부분도 잘못되었습니다. SetEnvIfNocase 의 영어원문은 다음과 같습니다.
The SetEnvIfNoCase is semantically identical to the SetEnvIf directive, and differs
only in that the regular expression matching is performed in a case-insensitive
manner.
이걸 해석해보면 case-insensitive 즉, 대소문자를 가리지 않는다는 것이죠. 만약 병철님의 말대로
SetEnvIfNoCase Referer "atpple.com" go_in 을 하게되면
ATPPLE 이나 atpple 모두 허용한다는 뜻이지 병철님의말대로
"  소문자로 링크한파일에 대해서 예외항목을 적용시키고 대문자로 링크한것에대해서는 받아들이지 않겠다는 것입니다. " 는 아닌것입니다.


그리고 www 을 사용안한것을 말씀하셨는데.. 음.. 그 이유는 모든 1차도메인에 대하여 2차도메인은 종속되기 때문에 2차도메인을 따로 예외항목으로 지정할 필요가 없습니다.
즉 1차도메인만 지정해줌으로 인해서 atpple.com 에대한 2차도메인 모두가 예외항목으로 지정되는것입니다. 오해의 소지가 없었으면 하는 바램입니다.
링크에대해서는 궁금하시다면 HTTP://DEMO.ATPPLE.COM/jsdk20.tar.Z 를 링크하여 한번 사용해보시기 바랍니다. 앳플은 SetEnvIf Referer 를 사용하고 있으며 DEMO 라는 2차도메인에 대하여 예외항목을 적용시키지 않고있습니다.
왠지 충분한 검증을 거쳐보셔야 할분은 제가 아니라 Dopesoul 님이 아닐까 하는생각이 드는군요.. 저는 서버관리를 하는 서버마스터로써 제가 해본것만을 강좌로 연재하고 있으며 이곳의 왠만한 설정법은 모두 현 앳플닷컴 서버의 설정과 동일합니다. ㅡㅡa

그리고 남의 강좌가 잘못되었을때 이렇게 무턱대고 남의 글을 인용하여 실제 환경에 적용해보지않고 제대로 알아보지 않은상태에서 나의 강좌를 비방하는것은 오히려 옳지않은것으로 여겨집니다.


(실제환경에 적용해본 바이며, 무턱대고 남의 글을 인용한것이 아닙니다. 제가 본 강좌를 쓴 정균님은
더 철저한 검증에 의해 쓴 강좌입니다. 저는 몇몇 강좌를 비교해보면서 이것이 nocase 를 적용해야한다고
생각했기때문에 그와같은 글을 올린것입니다. 물론 간단한 답글달기로 의견을 여쭈었을수도 있을 것입니다.
하지만, 이미 그 강좌를 본분들이 꽤 많으며. 유용한 스크립트 였기에 많은분들이 참고했으리라 생각되었기
때문에 글로 올린것입니다. 한번 강좌를 보고 적용시키신 분들이 또 그강좌를 보는 사례는 드물거라 생각합니다.
)


오히려 강좌를 쓴분의 코맨트에 이렇게 되는것이 아닌가요? 하고 반문씩으로 물어보거나 혹은 이렇게 하는것이 오히려 더 낳을 것입니다 씩으로 하시는것이 오히려 더 낳겠죠..
그럼 이만 줄이도록 하겠습니다.


제가 별 효용없는 딴지를 건 것일수도 있으나, 몇몇 오류들이 보였기에 글을 올렸습니다. 이와같은일이
강의를 올린 분에게는 상당한 자존심의 타격일수도 있습니다. 하지만 SetEnvIfNocase 가 옳음은 확실합니다.
브라우져와 웹데몬은 실제로는 매우 복잡한 명령어 (헤더라고 합니다) 로 동작됩니다. 그 동작에서의
HTTP_REFERER 라는 변수값이 있습니다. 이 부분에서 도메인값이 아파치로 넘어가게 됩니다.
이부분에서 환경변수로서 값이 해석되게 되는데 이부분에서 대 소문자를 가리냐 안가리느냐는 큰 차이를
낳게 됩니다. 자세한 내용은 저의 말을 듣는것보다

http://oops.org/?t=lecture&sb=apache&n=3

위 URL 을 방문하시면 제가 설명하고자 하는 내용이 바로 나타나게 됩니다. 가서 확인해 보세요.
http 헤더캡춰는 tcpdump 나 ethereal 을 이용하거나 패킷 스니퍼링툴을 이용해서 확인해보시면 압니다.
감사합니다.


제목 글쓴이 날짜
초보자도 쉽게 이해할수있도록 주석을 자세히 달아놓은 APM 메뉴얼 (3 of 3) [2] Dopesoul 2002.12.21
초보자도 쉽게 이해할수있도록 주석을 자세히 달아놓은 APM 메뉴얼 (2 of 4) [4] Dopesoul 2002.12.18
초보자도 쉽게 이해할수있도록 주석을 자세히 달아놓은 APM 메뉴얼 (1 of 4) [3] Dopesoul 2002.12.18
PHP 4.2.3 파워 설치 테크닉 (에러 0%에 도전) [2] 밍밍이 2002.12.17
리눅스 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