SecurityPlayerAccess control

Domänlåsning och geografiska begränsningar för inbäddad video

Så fungerar inbäddningsdomäner, spärrar av länder och IP-adresser och signerade länkar i UFOLOAD-spelaren, hur matchningen beter sig och var gränserna går.

När en video väl är offentlig kan alla som kan läsa din sidkälla kopiera dess adress. Ibland gör det inget. Ofta gör det det: en annan webbplats bäddar in din spelare och förbrukar din trafik, en licens gäller bara vissa länder, eller ett adressblock skrapar ditt bibliotek gång på gång. UFOLOAD ger dig flera kontroller för detta, och de verkar på olika nivåer. Den här artikeln förklarar vad var och en gör, hur matchningsreglerna fungerar och var varje kontroll tar slut, så att du kan kombinera dem klokt i stället för att lita på en enda strömbrytare.

Kontrollerna i korthet

KontrollVad den begränsarVar du ställer in den
Tillåtna inbäddningsdomänerVilka webbplatser som får visa din spelare i en iframeSpelarstudion, fliken Åtkomst
Spärrade länderTittare från de angivna ländernaSpelarstudion, fliken Åtkomst
Spärrade IP-adresserEnskilda adresser och maskerSpelarstudion, fliken Åtkomst
Tillåtna nedladdningsdomänerVilka webbplatser som får öppna nedladdningssidanSpelarstudion, fliken Åtkomst
Signerade länkar med livslängdHur länge en uppspelningsadress är giltig, och för vemAPI, POST /files/{id}/links

Allt i den här listan ingår i ditt kontos inställningar för spelare och leverans och gäller alla dina videor. Reglerna finns på alla planer; bara själva nedladdningsknappen är begränsad till Pro- och Max-planerna, som prissidan visar.

Steg 1: lås inbäddning till dina domäner

Inbäddningsspelaren körs i en iframe på någon annans sida, och webbläsaren talar om vilken sida det är via referrer-huvudet. Spelaren skickar värdnamnet vidare till servern, som jämför det med din lista. Om värdnamnet inte finns i listan svarar servern med 403 och spelaren visar ett meddelande om att videon inte är tillgänglig i stället för videon.

Matchningsreglerna är strikta och värda att känna till exakt:

  • example.com tillåter exakt det värdnamnet och inget annat. Det tillåter inte www.example.com.
  • *.example.com tillåter alla underdomäner till example.com, men inte själva example.com. För att täcka en webbplats och dess underdomäner anger du båda posterna.
  • Skiftläge spelar ingen roll, och portar och en avslutande punkt ignoreras, så Example.com:8080 matchar example.com.
  • Listan rymmer upp till 100 poster. En tom lista betyder att spelaren får bäddas in var som helst, vilket är standard.
  • Skriv rena värdnamn. Om du av misstag klistrar in en hel adress behålls bara värdnamnet.
Observera

Lägg till alla värdnamn där du faktiskt bäddar in, inklusive test- och förhandsvisningsdomäner, innan du aktiverar listan. En video som plötsligt visas som otillgänglig på din egen testwebbplats är den vanligaste överraskningen.

Vad domänlåsning inte gör

Den här kontrollen stoppar enkel hotlinking: att någon klistrar in din iframe på sin sida. Den är ingen säkerhetsgräns, och det är bättre att veta varför. Kontrollen bygger på den referrer som webbläsaren skickar. Om en sida tar bort referrern kan spelaren inte avgöra var den är inbäddad, och i det fallet blockerar den inte, eftersom integritetsinställningar och referrer-policyer annars skulle förstöra legitima inbäddningar. På samma sätt kan en målmedveten besökare som kopierar den signerade spellisteadressen från nätverkspanelen spela upp den någon annanstans tills den går ut, eftersom segmenten kontrolleras mot signaturen i länken, inte mot sidan som begär dem. Videons offentliga visningssida begränsas inte heller av domänlistan: alla som har länken kan öppna den.

Se alltså listan som ett staket som håller hederliga grannar ute. För starkare kontroll över en ström som du själv levererar använder du signerade länkar, som beskrivs nedan. Om du behöver motsatsen, en video som bara utvalda personer kan nå, observera att UFOLOAD inte har privata videor och inte har DRM; läs egen hosting kontra gratisplattformar kontra en videohostingtjänst innan du förlitar dig på tjänsten för konfidentiellt innehåll.

Steg 2: spärra länder och IP-adresser

Regler för länder och IP-adresser tillämpas på två ställen: när en tittare öppnar visnings- eller inbäddningssidan, och vid varje förfrågan efter spellistan och segmenten i leveranslagret. Kontrollerna vid leverans görs för varje förfrågan i stället för att cachas, så en regel som du lägger till gäller redan för nästa segment, och den som redan har en länk kan inte kringgå regeln genom att spara den.

  • Länder anges som tvåbokstavskoder enligt ISO 3166-1 alpha-2, åtskilda med kommatecken, till exempel US, CN, RU. Tittarens land slås upp från IP-adressen i en geolokaliseringsdatabas. Varje lista rymmer upp till 100 poster.
  • IP-adresser kan vara en enskild adress som 203.0.113.7 eller en mask med en stjärna i sista oktetten som 203.0.113.*, som täcker hela intervallet på 256 adresser. IPv6-adresser kan anges exakt.

Två praktiska varningar. Masker är trubbiga: en .*-mask på ett mobil- eller kontorsnät spärrar alla legitima personer bakom det. Och IP-baserad geografi är aldrig mer exakt än adressdatan bakom den. Besökare via VPN eller proxy ser ut att befinna sig där utgångsnoden finns, så en landsspärr är ett sätt att minska oönskad trafik eller i god tro följa en regional licens, inte en garanti.

Tips

Du spärras inte av dina egna regler när du är inloggad som medlem i organisationen som äger videon, och det gör inte heller vår supportpersonal. Det är avsiktligt, så att du inte låser ute dig själv från biblioteket om du spärrar ditt eget land, men det betyder också att du måste testa från en utloggad webbläsare eller ett annat nätverk.

Om du spelar upp strömmen på din egen sida med hls.js (se bädda in en HLS-video) är domänlistan inte inblandad, eftersom spelaren aldrig frågar UFOLOAD-sidan om lov. Kontrollen kommer från själva länken. POST /api/v1/files/{id}/links utfärdar uppspelnings- och nedladdningslänkar med en livslängd på 60 sekunder till 30 dagar. Lägg till bind_ip för att knyta länken till en IPv4-adress, eller bind_cookie för att knyta den till ett cookievärde som din server sätter för besökaren; svaret anger då vilken cookie som måste följa med förfrågan.

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"}'

En kort livslängd i kombination med bindning är det starkaste verktyget som finns: en länk som kopieras från din sida är oanvändbar inom några minuter och oanvändbar från alla andra adresser. Priset är att du måste utfärda länkar från din server vid varje sidvisning, vilket är det mönster som guiden om uppladdning och API och API-dokumentationen beskriver.

Nedladdningsdomäner

Spelare på Pro- och Max-planerna kan visa en nedladdningsknapp. En separat lista, tillåtna nedladdningsdomäner, fungerar precis som inbäddningslistan men styr vilka webbplatser som får öppna nedladdningssidan i en ram. Lämna den tom för att tillåta alla webbplatser. Besökare som öppnar nedladdningssidan direkt på UFOLOAD begränsas inte, precis som med visningssidan.

Steg 3: spara och testa

  1. Spara listorna på fliken Åtkomst.
  2. Öppna en sida på en tillåten domän i ett privat fönster och bekräfta att videon spelas upp. Kontrollera även varianten med underdomän.
  3. Öppna samma inbäddning från en domän som inte finns i listan, till exempel en lokal testsida som serveras från ett annat värdnamn, och bekräfta att spelaren visar meddelandet om att videon inte är tillgänglig.
  4. För en lands- eller IP-regel, testa utloggad, från ett nätverk som matchar regeln om du har tillgång till ett.
  5. Håll din egen sidas referrer-policy på ett rimligt värde som strict-origin-when-cross-origin. Policyn no-referrer döljer värdnamnet för spelaren, som då inte kan tillämpa listan.

Tillsammans täcker en inbäddningslista och kortlivade signerade länkar de flesta verkliga fall: enkel hotlinking stoppas redan vid dörren, och den som går längre måste anstränga sig för en länk som går ut. När annonser är tillgängliga och du visar dem i spelaren förklarar guiden om intäktsgenerering annonsformaten och hur avbrotten schemaläggs. Allt som finns i spelaren listas på funktionssidan, och checklistan för videohosting visar vilka åtkomstkontroller du bör kräva av alla leverantörer.

Prova med ett gratiskonto

Ladda upp en video och få en HLS-spelare och en API-nyckel på några minuter. Planernas gränser finns på prissidan.