>  기사  >  웹 프론트엔드  >  asp.net HttpHandler는 이미지 핫링크 방지_javascript 기술을 구현합니다.

asp.net HttpHandler는 이미지 핫링크 방지_javascript 기술을 구현합니다.

WBOY
WBOY원래의
2016-05-16 18:42:121034검색

1단계: 다음 코드를 사용하여 CustomHandler.cs 파일을 생성합니다.

코드 복사 코드는 다음과 같습니다.

시스템 사용;
System.Web 사용;

네임스페이스 CustomHandler{
공용 클래스 JpgHandler: IHttpHandler{
공용 void ProcessRequest(HttpContext 컨텍스트){
// 파일 서버 측 실제 경로 가져오기
string FileName = context.Server.MapPath(context.Request.FilePath)
// UrlReferrer가 비어 있으면 기본 핫링크 금지 이미지가 표시됩니다
if (context.Request .UrlReferrer.Host == null){
context.Response.ContentType = "image/JPEG";
context.Response.WriteFile("/error.jpg")
} else{
// UrlReferrer에 사이트 호스트의 도메인 이름이 포함되어 있지 않으면 핫링크를 금지하는 기본 그림이 표시됩니다.
if (context.Request.UrlReferrer.Host.IndexOf("yourdomain.com ") > 0){
context.Response.ContentType = "image/JPEG";
context.Response.WriteFile(FileName);
}else{
context.Response.ContentType = " image/JPEG";
context.Response.WriteFile("/error.jpg");
}
}
}

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

Step.2 이 파일을 컴파일
코드 복사 코드는 다음과 같습니다.

csc /t:library /r:System.Web.dll CustomHandler.cs

Step.3 컴파일된 CustomHandler.dll을 사이트 디렉터리의 Bin에 복사합니다.
4단계 Web.Config에 이 핸들러를 등록합니다.
코드 복사 코드는 다음과 같습니다.


web>


알겠습니다. 단계에 따라 직접 테스트해 볼 수 있으므로 여기서는 자세히 설명하지 않겠습니다.
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.