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% 의 강좌가 되겠습니다! 감사합니다.