2010-01-24 4 views

답변

18

이미지 위에 투명한 .gif. HTML 소스를보고 이미지의 실제 URL을 찾아 실제 이미지를 다운로드 할 수 있습니다. 예를 들어

, 임의의 이미지 : 상단에 투명 이미지의 http://www.flickr.com/photos/[email protected]/4300352607/

<img style="position:absolute;top:0px;left:0px;display:block" src="http://l.yimg.com/g/images/spaceball.gif" alt="" width="500" height="366"> 

.

<img src="http://farm5.static.flickr.com/4057/4300352607_edcc5a4a9e.jpg" alt="Say It With Flowers by *sido* (back in a few days)." title="" width="500" height="366" class="reflect"> 

이것이 실제 이미지이며 spaceball.gif 아래에 표시됩니다.

+0

물론 약간의 경험이있는 사람이라면 누구나 이미지를 원한다면 10 초 이내에 우회 할 수 있습니다. – alex

0

덤프하지 말고 개념적으로 이미지 다운로드를 잠그고 자한다면 실제로 생각할 수 있습니다. asp.net mvc와 같은 프레임 워크를 사용하면 고유 한 키로 이미지에 태그를 지정하고 메모리 또는 다른 형태의 지속성에 키를 저장 한 다음 id를 파일 이름으로 클라이언트에 전달할 수 있습니다. 반환되는 끝에 파일 요청이 있으면 이미지 요청을 가로 채고 실제 파일과 일치하는 키를 조회 할 수 있습니다. 파일을 받으면 적절한 메타 태그를 사용하여 사용자 지정 결과로 이미지를 반환합니다 (적어도 mvc에서는, 다른 곳에서 어떻게 할 것인지 확실하지 않음). 당신이 그것을 반환하기 전에, 당신은 볼 결과로 플래그.

서버에서 많은 작업이 필요하지만 Flickr의 투명한 gif 기술을 활용하면 누구나 이미지를 걸릴 수 있습니다.

일반적인보기에서 단일 요청이 발행되고 이미지를 직접 볼 수있는 추가 요청 (원본보기 및 URL 확보)이 차단됩니다.

< ./threadump>

죄송합니다, 단지 생각을했고 이미 대답 질문 (수면 deprevation 모든 재즈)에 추가하고 싶었다.

+0

캐싱 규칙을 따르지 않는 클라이언트 (또는 플러그인)는 여전히 캐시에서 파일을 가져올 수 있습니다. 실패하면 캐싱 또는 미러 기능이있는 프록시로 인해 모든 파일을 저장할 수 있습니다. 결국 파일을 볼 수 있다면, 그 중 하나 또는 다른 방법으로 파일을 저장할 수 있습니다. – jsoverson

+0

@jsoverson - 그렇습니다. 파일 저장을 완전히 차단할 방법이 없습니다. 프록시에 대한 캐싱은 음소거이지만 파일에 대한 각 요청마다 고유 한 파일 이름이 있으므로 파일은 여전히 ​​시스템에서 수신 중이므로 캐시를 통해 저장할 수 있습니다. 100 % 내성 솔루션은 아니지만 대부분의 시나리오에서 여전히 견고한 접근 방식이라고 생각합니다. 세션 정보가 포함 된 서버에 대한 원격 요청을 통해 이미지를 표시하는 플래시/SL 앱입니다. – Chance

관련 문제