홈   즐겨찾기   시작페이지로   문의하기
컨설팅 인큐베이팅 파트너쉽 ToTs
IT컨설팅
CI/BI제작
홈페이지제작
솔루션도입
호스팅
유지보수&운영대행
마케팅
모바일웹
ToTs 사례
상담현황
Q&A
서비스 ToTs 사례
전체글 2086 건
크라우드펀딩 플랫폼 제작비용
조립PC 사이트 제작문의 합니다.
국내 지식거래 사이트제작
묘원관리 프로그램 문의
정확하고 효율적인 재고 운영을 위한 재고관리프로그램 추천
국내 및 해외에 악보 판매하는 작은 사이트를 만들고싶은데 유지비 질문드립니다.
회사 전산프로그램 추천
병원 재료 재고 관리에 관하여
과외왕, 위스왓 같은 홈페이지 제작
인터넷쇼핑몰과 연계하여 오더 및 재고관리 할 수 있는 프로그램 개발원합니다. 견적이 얼마나 나올까요?

#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사례 찾아오시는 길