2013-06-20 3 views
1

내 웹 페이지의 이미지를 보호하고 싶습니다.asp.net 사용자 정의 httphandlers를 사용하여 이미지를 보호

이미지를 표시하고 싶지만 사용자가 이미지를 다운로드하거나 저장하려는 경우 이미지가 로컬 하드 드라이브에 저장되어서는 안됩니다.

이미지를 다운로드하기위한 액세스를 제한하기 위해 사용자 지정 처리기를 작성했지만이 처리기는 표시 할 이미지도 제한합니다.

내 코드의 Web.config

<configuration> 
    <system.web> 
    <compilation debug="true" targetFramework="4.0"/> 
    <httpHandlers> 
     <add verb="*" path="*.jpg" validate="true" type="MyFileHandler"/> 
    </httpHandlers> 
    </system.web> 
</configuration> 

에서

public class MyFileHandler : IHttpHandler 
{ 

    public void ProcessRequest(HttpContext context) 
    { 
     context.Response.ContentType = "image/Jpeg"; 
     context.Response.Write("you dont have access"); 
    } 

    public bool IsReusable 
    { 
     get 
     { 
      return false; 
     } 
    } 
} 

웹 페이지에서 이미지를 표시하지만, 저장하거나 이미지를 다운로드 할 수있는 솔루션이 있습니다.

답변

0

간단히 말해서, 아니오. 클라이언트 브라우저에 서비스를 제공하고 클라이언트 시스템에 저장하여 저장할 수 있습니다. 캐시에 저장됩니다. 이미지를 직접 또는 처리기를 통해 제공하는 경우에도 브라우저의 관점에서 볼 때와 동일합니다.

누군가가 이미지를 하드 드라이브에 저장할 수 없도록하려면 해당 이미지를 온라인에 저장하지 마십시오.

+0

내 프로젝트에서는 유료 사용자에게 내 articals 및 vidios를 보여줘야하지만 유료 사용자 인 경우에도 이미지 또는 비디오를 다운로드하거나 저장하도록 제한하고 싶습니다. 순전히 읽기 전용 양식. 이미지 및 비디오를 표시하고 다운로드하지는 않겠습니다. –

+0

죄송합니다 : 웹에 "다운로드"하지 않은 "표시"가 없습니다. 동영상을 스트리밍 할 수 있으며 스트림을 안전하게 보호 할 수 있습니다. 그것은 다소 안전합니다. 그러나 이미지는 항상 브라우저에 다운로드됩니다. – Alexander