2012-12-13 2 views
5

Azure Blob 저장소 사용에 대한 제 관심사 중 하나는 hotlinking입니다.Azure Blob 저장소의 핫 링크 방지

정적 컨텐트 (이미지, 비디오, 오디오, 큰 JS 및 CSS 파일 등)를 공용 컨테이너에 넣는 것이 좋지만 다른 웹 사이트에서는이 컨텐트를 연결하여 사용하지 않는 것이 좋습니다. 그들의 웹 사이트. 따라서 사이트에서 내 콘텐츠를 사용하는 일부 웹 마스터는 비용이 많이들 것입니다.

핫 링크의 일반적인 보호는 Referer HTTP 헤더로 필터링하는 것입니다. 어떻게 Microsoft Azure Blob 저장소에서이를 수행 할 수 있습니까?

분명히, it is possible in Amazon S3.

내 사진을 표시 할 수 없기 때문에 이것이 Google 이미지 검색에 좋지 않을 것이라는 것을 알고 있지만 잘 ... 나는 그걸로 살 수 있습니다.

건배.

답변

2

Windows Azure는 Amazon S3에서와 같이 Blob 저장소에 논리를 추가하는 것을 지원하지 않습니다. 그러나이 특정 시나리오의 경우 일반적으로 SAS (Shared Access Signatures)을 사용합니다.

개인 컨테이너로 변경해야합니다. 즉, 두 개의 키 중 하나가 있거나 SAS가있는 경우에만 파일에 액세스 할 수 있습니다. 따라서 일반적으로 SAS를 생성하는 웹 서버가 이미지 URL에 적용됩니다. SAS 서명을 사용하면 특정 시간 (예 : 10 분) 동안 파일에 액세스 할 수 있으므로 핫 링크를 방지 할 수 있습니다.

과 같을 것 SAS와 파일의 URL : 당신이 블롭에 대한 Cache-Control 헤더를 사용할 수 있습니다 함께 SAS와

https://storageaccountname.blob.core.windows.net/container/path/image.jpg?sv=2012-02-12&se=2012-11-19T19%3A25%3A32Z&sr=b&sp=r&sig=s6QIdwAGY4xC8fs4L9pK8hAGIY%2F8x58aqBcFbejYPdM%3D

+1

Humm ... 나는 SAS에 대해 알고있었습니다. 문제는 예를 들어 SAS를 10 분으로 설정하면 클라이언트는 HTTP 캐시를 사용할 기회없이 blob에서 모든 정적 컨텐츠를 다시 다운로드해야합니다. 그러나 어쩌면 다른 방법은 없을 것입니다. 감사. – vtortola

1

이의 읽기 작업을 최소화하여 blob 저장 영역의 개인 정적 컨텐츠 도움이 될 수도 있습니다 - TechNet wiki article. 내 의견을 알려주십시오.