SecurityPlayerAccess control

Blokowanie domen i ograniczenia geograficzne dla osadzonego wideo

Jak w odtwarzaczu UFOLOAD działają listy domen osadzania, blokady krajów i IP oraz podpisane linki, jak działa dopasowanie i gdzie kończy się każda ochrona.

Gdy wideo jest publiczne, każdy, kto potrafi zajrzeć w źródło Twojej strony, może skopiować jego adres. Czasem to nie problem. Często jednak tak: inna strona osadza Twój odtwarzacz i zużywa Twój transfer, licencja obejmuje tylko niektóre kraje albo jakaś pula adresów nieustannie pobiera Twoją bibliotekę. UFOLOAD daje do tego kilka narzędzi, a każde działa na innej warstwie. Ten artykuł wyjaśnia, co robi każde z nich, jak działają reguły dopasowania i gdzie kończą się ich możliwości, żebyś mógł je rozsądnie łączyć, zamiast polegać na jednym przełączniku.

Przegląd mechanizmów

MechanizmCo ograniczaGdzie go ustawić
Dozwolone domeny osadzaniaKtóre strony mogą wyświetlać Twój odtwarzacz w iframeStudio odtwarzacza, karta Dostęp
Zablokowane krajeWidzów z wymienionych krajówStudio odtwarzacza, karta Dostęp
Zablokowane adresy IPPojedyncze adresy i maskiStudio odtwarzacza, karta Dostęp
Dozwolone domeny pobieraniaKtóre strony mogą otwierać stronę pobieraniaStudio odtwarzacza, karta Dostęp
Podpisane linki z czasem ważnościJak długo adres odtwarzania pozostaje ważny i dla kogoAPI, POST /files/{id}/links

Wszystko z tej listy należy do ustawień odtwarzacza i dostarczania na Twoim koncie i dotyczy wszystkich Twoich filmów. Reguły są dostępne w każdym planie; tylko sam przycisk pobierania jest ograniczony do planów Pro i Max, jak pokazuje cennik.

Krok 1: ogranicz osadzanie do swoich domen

Odtwarzacz osadzony działa w iframe na cudzej stronie, a przeglądarka informuje go, o jaką stronę chodzi, przez nagłówek referrer. Odtwarzacz przekazuje tego hosta serwerowi, który porównuje go z Twoją listą. Jeśli hosta nie ma na liście, serwer odmawia z kodem 403, a odtwarzacz zamiast wideo pokazuje komunikat o niedostępności.

Reguły dopasowania są ścisłe i warto znać je dokładnie:

  • example.com dopuszcza dokładnie tego hosta i nic więcej. Nie dopuszcza www.example.com.
  • *.example.com dopuszcza każdą subdomenę example.com, ale nie samą domenę example.com. Aby objąć stronę i jej subdomeny, dodaj oba wpisy.
  • Wielkość liter nie ma znaczenia, a porty i kropka na końcu są ignorowane, więc Example.com:8080 pasuje do example.com.
  • Lista mieści do 100 wpisów. Pusta lista oznacza, że odtwarzacz można osadzić wszędzie — to ustawienie domyślne.
  • Wpisuj same nazwy hostów. Jeśli przez pomyłkę wkleisz pełny adres, zachowany zostanie tylko host.
Uwaga

Zanim włączysz listę, dodaj każdego hosta, na którym faktycznie osadzasz wideo, łącznie z domenami testowymi i podglądowymi. Najczęstsza niespodzianka to film, który nagle pokazuje komunikat o niedostępności na Twojej własnej stronie testowej.

Czego blokowanie domen nie robi

Ten mechanizm powstrzymuje zwykły hotlinking: ktoś wkleja Twój iframe na swoją stronę. Nie jest to granica bezpieczeństwa i lepiej wiedzieć dlaczego. Sprawdzenie opiera się na nagłówku referrer wysyłanym przez przeglądarkę. Jeśli strona usuwa referrer, odtwarzacz nie wie, gdzie jest osadzony, i w takim przypadku nie blokuje, bo inaczej ustawienia prywatności i polityki referrera psułyby legalne osadzenia. Podobnie zdeterminowany odwiedzający, który skopiuje podpisany adres playlisty z panelu sieci, może go odtwarzać gdzie indziej aż do wygaśnięcia, ponieważ segmenty są sprawdzane po podpisie w linku, a nie po stronie, która o nie prosi. Publiczna strona odtwarzania filmu też nie podlega liście domen: każdy, kto ma jej link, może ją otworzyć.

Traktuj więc listę jak płot, który trzyma z daleka uczciwych sąsiadów. Do silniejszej kontroli nad strumieniem, który serwujesz sam, użyj podpisanych linków opisanych poniżej. Jeśli potrzebujesz czegoś odwrotnego — filmu dostępnego tylko dla wybranych osób — pamiętaj, że UFOLOAD nie ma prywatnych filmów ani DRM; zanim powierzysz mu poufne treści, przeczytaj artykuł własny serwer, darmowe platformy czy hosting wideo.

Krok 2: blokuj kraje i adresy IP

Reguły dla krajów i adresów IP są egzekwowane w dwóch miejscach: gdy widz otwiera stronę odtwarzania lub osadzenia oraz przy każdym żądaniu playlisty i segmentów na warstwie dostarczania. Sprawdzenia przy dostarczaniu są wykonywane dla każdego żądania, a nie buforowane, więc dodana reguła obowiązuje już od następnego segmentu, a ktoś, kto ma już link, nie obejdzie reguły, zachowując go.

  • Kraje to dwuliterowe kody ISO 3166-1 alpha-2 oddzielone przecinkami, na przykład US, CN, RU. Kraj widza ustalany jest na podstawie adresu IP w bazie geolokalizacyjnej. Każda lista mieści do 100 wpisów.
  • Adresy IP mogą być pojedynczym adresem, takim jak 203.0.113.7, albo maską z gwiazdką w ostatnim oktecie, taką jak 203.0.113.*, która obejmuje cały zakres 256 adresów. Adresy IPv6 można podawać dokładnie.

Dwie praktyczne przestrogi. Maski są tępym narzędziem: maska .* w sieci komórkowej lub biurowej blokuje każdą uprawnioną osobę za nią. A geografia oparta na IP jest tylko tak dokładna jak dane adresowe, na których się opiera. Odwiedzający przez VPN lub proxy wyglądają tak, jakby byli tam, gdzie znajduje się węzeł wyjściowy, więc blokada kraju to sposób na ograniczenie niechcianego ruchu lub przestrzeganie regionalnej licencji w dobrej wierze, a nie gwarancja.

Wskazówka

Twoje własne reguły nie blokują Cię, gdy jesteś zalogowany jako członek organizacji, do której należy film, i nie blokują też naszego zespołu wsparcia. To celowe — zablokowanie własnego kraju nie odetnie Cię od biblioteki — ale oznacza też, że testować trzeba w przeglądarce bez zalogowania lub z innej sieci.

Jeśli odtwarzasz strumień na własnej stronie przez hls.js (zobacz osadzanie wideo HLS), lista domen nie ma zastosowania, bo odtwarzacz nigdy nie pyta strony UFOLOAD o zgodę. Kontrola wynika z samego linku. POST /api/v1/files/{id}/links wydaje linki do odtwarzania i pobierania z czasem ważności od 60 sekund do 30 dni. Dodaj bind_ip, aby powiązać link z jednym adresem IPv4, albo bind_cookie, aby powiązać go z wartością ciasteczka, które Twój serwer ustawia odwiedzającemu; odpowiedź podaje wtedy nazwę ciasteczka, które musi towarzyszyć żądaniu.

bash
curl -X POST "https://ufoload.com/api/v1/files/FILE_ID/links" \
  -H "Authorization: Bearer $UFOLOAD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"ttl": 600, "bind_ip": "203.0.113.7"}'

Krótki czas ważności w połączeniu z powiązaniem to najsilniejsze dostępne narzędzie: link skopiowany z Twojej strony po kilku minutach jest bezużyteczny, a z innego adresu — od razu. Ceną jest konieczność wydawania linków z Twojego serwera przy każdym wyświetleniu strony; ten wzorzec opisują poradnik przesyłania i API oraz dokumentacja API.

Domeny pobierania

Odtwarzacze w planach Pro i Max mogą wyświetlać przycisk „Pobierz”. Osobna lista, dozwolone domeny pobierania, działa dokładnie tak jak lista osadzania, ale określa, które strony mogą otwierać stronę pobierania w ramce. Zostaw ją pustą, aby dopuścić każdą stronę. Odwiedzający, którzy otwierają stronę pobierania bezpośrednio w UFOLOAD, nie podlegają ograniczeniom, tak samo jak w przypadku strony odtwarzania.

Krok 3: zapisz i przetestuj

  1. Zapisz listy na karcie Dostęp.
  2. Otwórz stronę na dozwolonej domenie w oknie prywatnym i upewnij się, że film się odtwarza. Sprawdź też wariant z subdomeną.
  3. Otwórz to samo osadzenie z domeny spoza listy, na przykład z lokalnej strony testowej serwowanej pod inną nazwą hosta, i upewnij się, że odtwarzacz pokazuje komunikat o niedostępności.
  4. W przypadku reguły dla kraju lub IP testuj bez zalogowania, z sieci pasującej do reguły, jeśli masz do takiej dostęp.
  5. Ustaw politykę referrera na własnej stronie na rozsądną wartość, taką jak strict-origin-when-cross-origin. Polityka no-referrer ukrywa hosta przed odtwarzaczem, który wtedy nie może egzekwować listy.

Razem lista osadzania i krótkotrwałe podpisane linki pokrywają większość realnych przypadków: zwykły hotlinking zostaje zatrzymany na progu, a każdy, kto chce pójść dalej, musi zdobyć link, który wygasa. Gdy reklamy są dostępne i wyświetlasz je w odtwarzaczu, poradnik monetyzacji wyjaśnia formaty reklam i sposób planowania przerw. Listę wszystkich możliwości odtwarzacza znajdziesz na stronie funkcji, a lista kontrolna wyboru hostingu wideo pokazuje, jakich mechanizmów kontroli dostępu wymagać od każdego dostawcy.

Wypróbuj z darmowym kontem

Prześlij wideo, a w kilka minut dostaniesz odtwarzacz HLS i klucz API. Limity planów znajdziesz w cenniku.