IIS에서 서버의 파일 확장자에 대한 액세스를 거부 할 수 있음을 확인했습니다. 예를 들어 .jpg 이미지에 대한 액세스를 거부합니다. 그러나 브라우저는 내 사이트에서 .jpg 이미지를 표시 할 수 없습니다.IIS에서 파일 확장명 거부
저는 IIS가 요청할 경우 브라우저에 계속 제공하면서 (URL에 주소를 입력하여) 파일 확장명이나 파일 이름에 대한 액세스를 거부 할 수 있는지 궁금합니다. 문서?
IIS에서 서버의 파일 확장자에 대한 액세스를 거부 할 수 있음을 확인했습니다. 예를 들어 .jpg 이미지에 대한 액세스를 거부합니다. 그러나 브라우저는 내 사이트에서 .jpg 이미지를 표시 할 수 없습니다.IIS에서 파일 확장명 거부
저는 IIS가 요청할 경우 브라우저에 계속 제공하면서 (URL에 주소를 입력하여) 파일 확장명이나 파일 이름에 대한 액세스를 거부 할 수 있는지 궁금합니다. 문서?
은 실제로이 작업을 수행 할 수 없습니다. 결정된 사람은 웹 페이지에서 다운로드 할 수있는 모든 것을 다운로드 할 수 있습니다. 그러나 요청시 HTTP 리퍼러를 확인하여 기술적으로 지식이 부족한 사용자에게는 약간 더 어렵게 만들 수 있습니다. 웹 페이지 중 하나의 URL 인 경우 요청을 허용 할 수 있습니다. 그렇지 않으면 거부 할 수 있습니다. 이 기술은 딥 링크를 매우 자주 방지하는 데 사용됩니다.
이public class ImageDenyingModule : IHttpModule
{
public void Init(HttpApplication app)
{
app.BeginRequest += (s, e) => {
var request = app.Context.Request;
if (RequiresPageReferrer(request.Url) && !IsValidReferer(request.UrlReferrer)) {
app.Context.Response.StatusCode = 404;
app.Context.Response.End(); // Or something...
}
};
}
private bool RequiresPageReferrer(string url) {
}
private bool IsValidReferrer(string referrer) {
}
}
당신은 사용자 지정 HTTP 처리기와 함께이 작업을 수행 할 수 있습니다
다음은 닷넷 HTTP 모듈이 작업을 수행 할 수있는 방법의 샘플 (안된)입니다. 당신은 JPG 파일에 대한 사용자 지정 처리기를 만드는 경우
http://support.microsoft.com/kb/308001
는 당신이 요청의 리퍼러를 확인하고 이미지를 제공하거나 요청을 취소 할 수 있습니다.
굉장합니다. 너무나 고스 만에게 감사드립니다! – uSeRnAmEhAhAhAhAhA
웹 서버가 문서 또는 직접 요청되었는지 여부를 실제로 알 수 있다고 생각하지 않습니다. HTTP 요청은 같은 방법으로 보입니다. –