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
| Kontroll | Vad den begränsar | Var du ställer in den |
|---|---|---|
| Tillåtna inbäddningsdomäner | Vilka webbplatser som får visa din spelare i en iframe | Spelarstudion, fliken Åtkomst |
| Spärrade länder | Tittare från de angivna länderna | Spelarstudion, fliken Åtkomst |
| Spärrade IP-adresser | Enskilda adresser och masker | Spelarstudion, fliken Åtkomst |
| Tillåtna nedladdningsdomäner | Vilka webbplatser som får öppna nedladdningssidan | Spelarstudion, fliken Åtkomst |
| Signerade länkar med livslängd | Hur länge en uppspelningsadress är giltig, och för vem | API, 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.comtillåter exakt det värdnamnet och inget annat. Det tillåter intewww.example.com.*.example.comtillåter alla underdomäner tillexample.com, men inte självaexample.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:8080matcharexample.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.
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.7eller en mask med en stjärna i sista oktetten som203.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.
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.
Signerade länkar för din egen spelare
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.
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
- Spara listorna på fliken Åtkomst.
- Ö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.
- Ö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.
- För en lands- eller IP-regel, testa utloggad, från ett nätverk som matchar regeln om du har tillgång till ett.
- Håll din egen sidas referrer-policy på ett rimligt värde som
strict-origin-when-cross-origin. Policynno-referrerdö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.
Ladda upp en video och få en HLS-spelare och en API-nyckel på några minuter. Planernas gränser finns på prissidan.