Når en video først er offentlig, kan alle, der kan læse kildekoden på din side, kopiere dens adresse. Nogle gange er det fint. Ofte er det ikke: Et andet website indlejrer din afspiller og bruger din trafik, en licens dækker kun visse lande, eller en blok af adresser bliver ved med at skrabe dit bibliotek. UFOLOAD giver dig flere kontroller til det, og de virker på forskellige lag. Denne artikel forklarer, hvad hver af dem gør, hvordan matchningsreglerne fungerer, og hvor hver kontrol stopper, så du kan kombinere dem fornuftigt i stedet for at stole på en enkelt kontakt.
Kontrollerne i overblik
| Kontrol | Hvad den begrænser | Hvor du indstiller den |
|---|---|---|
| Tilladte indlejringsdomæner | Hvilke websites der må vise din afspiller i en iframe | Afspillerstudie, fanen Adgang |
| Blokerede lande | Seere fra de angivne lande | Afspillerstudie, fanen Adgang |
| Blokerede IP-adresser | Enkelte adresser og masker | Afspillerstudie, fanen Adgang |
| Tilladte downloaddomæner | Hvilke websites der må åbne downloadsiden | Afspillerstudie, fanen Adgang |
| Signerede links med levetid | Hvor længe en afspilningsadresse er gyldig, og for hvem | API, POST /files/{id}/links |
Alt på denne liste er en del af afspiller- og leveringsindstillingerne på din konto og gælder for alle dine videoer. Reglerne er klar på alle planer; kun selve download-knappen er begrænset til Pro- og Max-planerne, som prissiden viser.
Trin 1: lås indlejring til dine domæner
Indlejringsafspilleren kører i en iframe på en andens side, og browseren fortæller den, hvilken side det er, via referreren. Afspilleren sender denne host videre til serveren, som sammenligner den med din liste. Står hosten ikke på listen, afviser serveren med 403, og afspilleren viser en besked om, at videoen ikke er tilgængelig, i stedet for videoen.
Matchningsreglerne er strenge og værd at kende præcist:
example.comtillader netop den host og intet andet. Den tillader ikkewww.example.com.*.example.comtillader alle underdomæner afexample.com, men ikke selveexample.com. Skal du dække et website og dets underdomæner, så angiv begge poster.- Store og små bogstaver er ligegyldige, og porte og et afsluttende punktum ignoreres, så
Example.com:8080matcherexample.com. - Listen kan rumme op til 100 poster. En tom liste betyder, at afspilleren må indlejres overalt, hvilket er standard.
- Skriv rene hostnavne. Indsætter du ved en fejl en fuld adresse, gemmes kun dens host.
Tilføj alle hosts, du faktisk indlejrer på, inklusive test- og preview-domæner, før du slår listen til. En video, der pludselig viser en utilgængelig-besked på dit eget testwebsite, er den mest almindelige overraskelse.
Hvad domænelåsning ikke gør
Denne kontrol stopper tilfældig hotlinking: at nogen indsætter din iframe på deres side. Den er ikke en sikkerhedsgrænse, og det er bedst at vide hvorfor. Tjekket bygger på den referrer, browseren sender. Hvis en side fjerner referreren, kan afspilleren ikke se, hvor den er indlejret, og i så fald blokerer den ikke, for ellers ville privatlivsindstillinger og referrer-politikker ødelægge legitime indlejringer. Ligeledes kan en målrettet besøgende, der kopierer den signerede playlist-adresse fra netværkspanelet, afspille den andre steder, indtil den udløber, fordi segmenterne tjekkes ud fra signaturen på linket, ikke ud fra den side, der beder om dem. Den offentlige afspilningsside for en video er heller ikke begrænset af domænelisten: Alle med linket kan åbne den.
Tænk derfor på listen som et hegn, der holder ærlige naboer ude. Vil du have stærkere kontrol over en stream, du selv leverer, så brug signerede links, som beskrives nedenfor. Har du brug for det modsatte, en video kun udvalgte personer kan nå, så bemærk, at UFOLOAD ikke har private videoer og ingen DRM; læs selvhosting kontra gratis platforme kontra en videohost, før du bruger tjenesten til fortroligt indhold.
Trin 2: bloker lande og IP-adresser
Regler for lande og IP-adresser håndhæves to steder: når en seer åbner afspilnings- eller indlejringssiden, og ved hver forespørgsel efter playlisten og segmenterne i leveringslaget. Leveringstjekkene foretages for hver forespørgsel i stedet for at blive cachet, så en regel, du tilføjer, gælder fra det allernæste segment, og en person, der allerede har et link, kan ikke omgå reglen ved at beholde det.
- Lande angives som tobogstavskoder efter ISO 3166-1 alpha-2, adskilt af kommaer, for eksempel
US, CN, RU. Seerens land slås op ud fra IP-adressen i en geolokaliseringsdatabase. Hver liste kan rumme op til 100 poster. - IP-adresser kan være en enkelt adresse som
203.0.113.7eller en maske med en stjerne i den sidste oktet som203.0.113.*, der dækker hele intervallet på 256 adresser. IPv6-adresser kan angives præcist.
To praktiske forbehold. Masker er grove: En .*-maske på et mobil- eller kontornetværk blokerer alle legitime personer bag det. Og IP-baseret geografi er kun så præcis som adressedataene bag den. Besøgende på en VPN eller en proxy ser ud til at befinde sig der, hvor exit-noden er, så en landeblokering er en måde at mindske uønsket trafik eller overholde en regional licens i god tro, ikke en garanti.
Du blokeres ikke af dine egne regler, mens du er logget ind som medlem af den organisation, der ejer videoen, og det gør vores supportmedarbejdere heller ikke. Det er bevidst, så du ikke låser dig selv ude af dit bibliotek ved at blokere dit eget land, men det betyder også, at du skal teste fra en browser, hvor du er logget ud, eller fra et andet netværk.
Signerede links til din egen afspiller
Afspiller du streamen på din egen side med hls.js (se indlejring af en HLS-video), er domænelisten ikke involveret, fordi afspilleren aldrig spørger UFOLOAD-siden om lov. Kontrollen ligger i selve linket. POST /api/v1/files/{id}/links udsteder afspilnings- og downloadlinks med en levetid på 60 sekunder til 30 dage. Tilføj bind_ip for at binde linket til én IPv4-adresse eller bind_cookie for at binde det til en cookie-værdi, som din server sætter for den besøgende; svaret angiver så den cookie, der skal følge med forespørgslen.
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 levetid kombineret med binding er det stærkeste værktøj, der findes: Et link kopieret fra din side er ubrugeligt inden for få minutter og ubrugeligt fra enhver anden adresse. Prisen er, at du skal udstede links fra din server ved hver sidevisning, hvilket er det mønster, guiden til upload og API og API-dokumentationen beskriver.
Downloaddomæner
Afspillere på Pro- og Max-planerne kan vise en Download-knap. En separat liste, tilladte downloaddomæner, fungerer præcis som indlejringslisten, men styrer, hvilke websites der må åbne downloadsiden i en frame. Lad den være tom for at tillade alle websites. Besøgende, der åbner downloadsiden direkte på UFOLOAD, begrænses ikke, ligesom med afspilningssiden.
Trin 3: gem og test
- Gem listerne på fanen Adgang.
- Åbn en side på et tilladt domæne i et privat vindue, og bekræft, at videoen afspilles. Tjek også varianten med underdomæne.
- Åbn den samme indlejring fra et domæne, der ikke står på listen, for eksempel en lokal testside serveret fra et andet hostnavn, og bekræft, at afspilleren viser utilgængelig-beskeden.
- For en lande- eller IP-regel skal du teste, mens du er logget ud, fra et netværk, der matcher reglen, hvis du har et.
- Hold din egen sides referrer-politik på en fornuftig værdi som
strict-origin-when-cross-origin. En politik påno-referrerskjuler hosten for afspilleren, som så ikke kan håndhæve listen.
Brugt sammen dækker en indlejringsliste plus kortlivede signerede links de fleste reelle tilfælde: Tilfældig hotlinking stoppes ved døren, og den, der går længere, må kæmpe for et link, der udløber. Når annoncer er tilgængelige, og du kører dem i afspilleren, forklarer guiden til monetisering annonceformaterne, og hvordan pauserne planlægges. Listen over alt, hvad afspilleren kan, står på funktionssiden, og tjeklisten til videohosting viser, hvilke adgangskontroller du bør kræve af enhver udbyder.
Upload en video, og få en HLS-afspiller og en API-nøgle på få minutter. Plangrænserne står på prissiden.