2012-12-13 9 views
5

Jedną z moich obaw związanych z używaniem magazynu Azure Blob jest hotlinkowanie.Zapobieganie tworzeniu hotlinkowania w magazynie Azure Blob

Wygląda na to, że warto umieścić statyczne treści (obrazy, filmy, audio, duże pliki JS i CSS itp.) W publicznym kontenerze, ale wtedy nic nie powstrzyma innych witryn internetowych do połączenia tych treści i użycia ich w ich strony internetowe. Dlatego niektórzy webmasterzy używający moich treści na swoich stronach będą mnie kosztować.

Powszechną ochroną hotlinków jest filtrowanie przez nagłówek HTTP Referer. Jak można tego dokonać w usłudze Microsoft Azure Blob Storage?

Podobno it is possible in Amazon S3.

Wiem, że to byłoby złe dla Wyszukiwarki Grafiki Google, ponieważ nie byłby w stanie wyświetlać moich zdjęć, ale cóż ... Mógłbym z tym żyć.

Pozdrawiam.

Odpowiedz

2

Windows Azure nie obsługuje dodawania logiki do pamięci Blob, tak jak w Amazon S3. Ale w tym konkretnym scenariuszu zwykle używasz SAS (Shared Access Signatures).

Będziesz musiał zmienić swój kontener na prywatny dostęp. Oznacza to, że dostęp do plików jest możliwy tylko wtedy, gdy masz jeden z dwóch kluczy lub jeśli masz SAS. Zwykle byłby to serwer WWW generujący SAS i stosujący go na przykład do adresu URL obrazu. Pracując z sygnaturami SAS, możesz zezwolić na dostęp do pliku przez określony czas (powiedzmy 10 minut), co uniemożliwiłoby tworzenie hotlinków.

adres URL pliku z SAS będzie wyglądać następująco:

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 ... Byłem świadomy SAS. Problem polega na tym, że jeśli na przykład ustawię SAS na 10 minut, po tym czasie klienci będą musieli ponownie pobrać całą statyczną zawartość z obiektu typu blob, bez możliwości skorzystania z buforowania HTTP. Ale może nie ma innej drogi. Dzięki. – vtortola

1

Wraz z SAS można użyć nagłówka Cache-Control dla blob w celu zminimalizowania operacji odczytu z twoich prywatna statyczna zawartość pamięci typu blob. To może być pomocne - TechNet wiki article. Poinformuj mnie o swoich opiniach.

Powiązane problemy