홈   즐겨찾기   시작페이지로   문의하기
컨설팅 인큐베이팅 파트너쉽 ToTs
IT컨설팅
CI/BI제작
홈페이지제작
솔루션도입
호스팅
유지보수&운영대행
마케팅
모바일웹
ToTs 사례
상담현황
Q&A
서비스 ToTs 사례
전체글 2086 건
홈페이지 제작 견적 및 유지 비용좀 알려쥬세요
'오페라10' 웹브라우저가 공개되었네요. 사용후기..
쇼핑몰 운영하고싶은데요
웹호스팅이 뭐예요?
회사 홈페이지 제작하려고 하는데요.
서버호스팅추천시 선정기준을 무엇으로 하나요?
쇼핑몰좀 해볼생각입니다만,,,
인터넷에 홈페이지 제작비용 및 관련지식 부탁드립니다
티스토리 블로그 백업하는 방법
플래시 카드 사이트(외국사이트)

#asp#이미지보호

웹사이트를 운영하다 보면 이미지 파일을 함부로 다운로드 받지 못하도록 이미지의 경로를 노출시키고 싶지 않은 경우가 있다. 여기서는 ASP를 이용한 간단한 방법을 살펴보도록 하겠다. 우선 간단한 예제부터 살펴보도록 하자. 아래 샘플 이미지가 있는데 이 이미지는 여기서 살펴볼 방법에 의해 이미지를 로드한 것이다.

<img src="/etc/codeexample/asp/19444.asp?FName=020129p_01.jpg">
 
이미지의 경로가 .gif나 .jpg가 아니라 .asp인 asp파일로 되어 있다. 즉, asp 파일 안에서 적절한 이미지를 불러 오는 것이다. 그렇다면 /etc/codeexample/asp/19444.asp의 내용은 어떻게 되어 있을까?

<%
Option Explicit
 
'Referer를 먼저 구한다.
Dim strBuffer, FilePath
strBuffer = Request.ServerVariables("HTTP_REFERER")
'만일 referer가 https://korea.internet.com/channel/content.asp였다면
strBuffer = mid(strBuffer, InStr(strBuffer,".") + 1)
'이 상태에서의 strBuffer = internet.com/channel/content.asp가 됨
strBuffer = left(strBuffer, InStr(strBuffer, "/") - 1)
'이 상태에서의 strBuffer =  internet.com이 됨
 
'실제 이미지가 들어있는 디렉토리를 지정.
'다른 웹사이트일 수도 있고 다른 디렉토리일 수도 있다.
'이 값은 자신의 환경에 맞게 수정하기 바란다.
'사람들이 예측할 수 없는 이름을 사용하는 것이 좋다.
FilePath = "/images/photoshop/"
 
'만일 referer에 internet.com이 포함되어 있으면...
'referer도 자신의 환경에 맞게 수정하기 바란다.
If strBuffer = "internet.com" then
        '이미지 경로 완성
        FilePath = FilePath + Request.QueryString("FName")
Else
        '에러 이미지 경로!!
        FilePath = "/images/error.gif"
End If
'원하는 이미지 불러옴
Response.Redirect(FilePath)
%>
 

여기서 살펴본 내용은 사실 완벽한 것이 아니다. 여러 허점이 보이는 그런 코드이다. 페이지에 나타난 이미지를 캡쳐하거나 복사하는 등 여러 가지 막기 어려운 부분이 여전히 남아 있다. 여기서 사용한 방법과 자바스크립트를 이용하면 이미지를 불법으로 가져가는 것을 조금 더 귀찮게 만들 수는 있다. 자바스크립트를 이용한 방법은 다음 글을 참조하기 바란다.



회사소개 이메일무단수집거부 ToTs사례 찾아오시는 길