2009-09-02 4 views
1

여러 도메인에서 사용하려는 웹 서비스 마녀가 있습니다. 그러나 내 웹 서비스에 액세스 할 수있는 사이트 (도메인)를 제한하려고합니다.내 페이지/웹 서비스를 호출 할 수있는 도메인을 제한하는 방법

예를 들어, www.Site-A.com 사이트의 페이지 요청이 실행되고 www.Site-B.com의 요청이 거부되기를 원합니다.

ASP.NET/IIS로 할 수있는 방법이 있습니까?

+0

더 넓은 DNS 도메인 또는 Windows 보안 도메인에 대해 이야기하고 있습니까? – AnthonyWJones

+0

더 넓은 DNS, –

답변

1

질문을 올바르게 이해하면 도메인 외부의 다른 페이지에서 참조 할 수있는 웹 콘텐츠가있는 것입니다. 해당 페이지가 브라우저에로드되면 해당 페이지의 참조 요청이 사이트의 컨텐츠를 가져 오려고 시도합니다. 그것은 당신의 시나리오를 설명합니까?

그렇다면 이것을 달성 할 수있는 유일한 기회는 referer 헤더와 함께 요청을 전달할 것을 요구하는 것입니다 (이는 정상이지만 일부 브라우저는 사용자를 억제 할 수 있습니다). 그런 다음 코드에서 referer 헤더의 내용을 검사하여 요청을 계속할지 여부를 테스트 할 수 있습니다.

이 코드로 referer을 검사 할 수 있습니다 : -

var referer = new Uri(Request.ServerVariables("HTTP_REFERER")); 
if (referer.Host.ToLower() == "www.site-a.com") 
    //Allow access 

이 기술은 비공식적으로 사용할 수 있습니다

주의 할의 referer 헤더를 인증 할 수있는 방법이 없기 때문에 사람을 속일 수 상당히 간단한 도구를 사용합니다.

+0

고맙습니다. 안토니. 내 필요에 따라 도움이 될 것입니다. 이 곳에서 몇 가지 문제에 대한 답을보고 즐거웠다는 것을 알려주는 곳입니다! –

1

원격 사용자의 IP 주소를 확인하고 그에 따라 작동 할 수 있습니다. 요청의 Referer 헤더를 사용할 수도 있지만 스푸핑 될 수 있습니다.

+0

나는 IP 주소를 가질 수있다. 그러나 문제는 그가 사용하고있는 사이트이며 사용자 IP가 아니다. 나는 그것을 설명하기 위해 나의 질문을 편집했다. 고맙습니다! –

+0

그럴 경우 일부 Whois 제공 업체에서 도메인을 볼 수 없습니까? :) – cwap

관련 문제