Una volta che un video è pubblico, chiunque sappia leggere il sorgente della tua pagina può copiarne l'indirizzo. A volte va bene. Spesso no: un altro sito incorpora il tuo player e consuma il tuo traffico, una licenza copre solo alcuni Paesi, oppure un blocco di indirizzi continua a fare scraping della tua libreria. UFOLOAD offre diversi controlli per questo, e funzionano a livelli diversi. Questo articolo spiega cosa fa ciascuno, come funzionano le regole di corrispondenza e dove si ferma ognuno, così puoi combinarli con criterio invece di affidarti a un solo interruttore.
I controlli in sintesi
| Controllo | Cosa limita | Dove si imposta |
|---|---|---|
| Domini di incorporamento consentiti | Quali siti possono mostrare il tuo player in un iframe | Studio del player, scheda Accesso |
| Paesi bloccati | Spettatori dai Paesi elencati | Studio del player, scheda Accesso |
| Indirizzi IP bloccati | Singoli indirizzi e maschere | Studio del player, scheda Accesso |
| Domini di download consentiti | Quali siti possono aprire la pagina di download | Studio del player, scheda Accesso |
| Link firmati con durata | Per quanto tempo un indirizzo di riproduzione resta valido, e per chi | API, POST /files/{id}/links |
Tutto ciò che è in questo elenco fa parte delle impostazioni del player e della distribuzione del tuo account e si applica a tutti i tuoi video. Le regole sono disponibili in ogni piano; solo il pulsante di download in sé è limitato ai piani Pro e Max, come mostra la pagina dei prezzi.
Passo 1: limita l'incorporamento ai tuoi domini
Il player incorporato gira dentro un iframe nella pagina di qualcun altro, e il browser gli comunica di quale pagina si tratta tramite il referrer. Il player passa quell'host al server, che lo confronta con il tuo elenco. Se l'host non è nell'elenco, il server rifiuta con un 403 e il player mostra un messaggio di indisponibilità al posto del video.
Le regole di corrispondenza sono rigide ed è bene conoscerle con precisione:
example.comconsente esattamente quell'host e nient'altro. Non consentewww.example.com.*.example.comconsente ogni sottodominio diexample.com, ma non il sempliceexample.com. Per coprire un sito e i suoi sottodomini, inserisci entrambe le voci.- Maiuscole e minuscole non contano, e porte e punto finale vengono ignorati, quindi
Example.com:8080corrisponde aexample.com. - L'elenco contiene fino a 100 voci. Un elenco vuoto significa che il player può essere incorporato ovunque, ed è l'impostazione predefinita.
- Scrivi semplici nomi host. Se incolli per errore un indirizzo completo, viene conservato solo il suo host.
Prima di attivare l'elenco, aggiungi ogni host in cui incorpori davvero il player, compresi i domini di staging e di anteprima. Un video che all'improvviso mostra un messaggio di indisponibilità sul tuo sito di staging è la sorpresa più comune.
Cosa non fa il blocco per dominio
Questo controllo ferma l'hotlinking occasionale: qualcuno che incolla il tuo iframe nella propria pagina. Non è una barriera di sicurezza, ed è meglio sapere perché. Il controllo si basa sul referrer inviato dal browser. Se una pagina rimuove il referrer, il player non può sapere dove è incorporato e in quel caso non blocca, perché altrimenti impostazioni di privacy e policy sul referrer romperebbero incorporamenti legittimi. Allo stesso modo, un visitatore determinato che copia l'indirizzo firmato della playlist dal pannello di rete può riprodurla altrove finché non scade, perché i segmenti vengono verificati tramite la firma del link, non tramite la pagina che li richiede. Anche la pagina pubblica di visione di un video non è limitata dall'elenco dei domini: chiunque abbia il suo link può aprirla.
Pensa quindi all'elenco come a una recinzione che tiene fuori i vicini onesti. Per un controllo più forte su uno stream che servi tu stesso, usa i link firmati, descritti più avanti. Se ti serve l'opposto, un video raggiungibile solo da persone scelte, tieni presente che UFOLOAD non ha video privati né DRM; leggi self-hosting, piattaforme gratuite o un hosting video prima di affidarti a esso per contenuti riservati.
Passo 2: blocca Paesi e indirizzi IP
Le regole per Paese e IP vengono applicate in due punti: quando uno spettatore apre la pagina di visione o di incorporamento, e a ogni richiesta di playlist e segmenti a livello di distribuzione. I controlli di distribuzione vengono eseguiti a ogni richiesta, senza cache, quindi una regola che aggiungi vale già dal segmento successivo e chi ha già un link non può aggirare la regola conservandolo.
- I Paesi sono codici ISO 3166-1 alpha-2 di due lettere separati da virgole, ad esempio
US, CN, RU. Il Paese dello spettatore viene ricavato dall'indirizzo IP tramite un database di geolocalizzazione. Ogni elenco contiene fino a 100 voci. - Gli indirizzi IP possono essere un singolo indirizzo come
203.0.113.7oppure una maschera con un asterisco nell'ultimo ottetto come203.0.113.*, che copre l'intero intervallo di 256 indirizzi. Gli indirizzi IPv6 possono essere elencati in forma esatta.
Due avvertenze pratiche. Le maschere sono uno strumento grossolano: una maschera .* su una rete mobile o aziendale blocca tutte le persone legittime che vi si trovano dietro. E la geografia basata sull'IP è accurata quanto i dati sugli indirizzi su cui si basa. I visitatori che usano una VPN o un proxy risultano trovarsi dove si trova il nodo di uscita, quindi un blocco per Paese è un modo per ridurre il traffico indesiderato o rispettare in buona fede una licenza regionale, non una garanzia.
Le tue regole non bloccano te mentre hai effettuato l'accesso come membro dell'organizzazione proprietaria del video, e non bloccano nemmeno il nostro supporto. È voluto, così bloccare il tuo Paese non ti chiude fuori dalla tua libreria, ma significa anche che devi fare i test da un browser senza accesso o da un'altra rete.
Link firmati per il tuo player
Se riproduci lo stream nella tua pagina con hls.js (vedi incorporare un video HLS), l'elenco dei domini non entra in gioco, perché il player non chiede mai il permesso alla pagina UFOLOAD. Il controllo viene dal link stesso. POST /api/v1/files/{id}/links genera link di riproduzione e di download con una durata da 60 secondi a 30 giorni. Aggiungi bind_ip per legare il link a un indirizzo IPv4, oppure bind_cookie per legarlo al valore di un cookie che il tuo server imposta per il visitatore; la risposta indica allora il cookie che deve accompagnare la richiesta.
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"}'Una durata breve unita al vincolo è lo strumento più forte disponibile: un link copiato dalla tua pagina diventa inutile nel giro di pochi minuti e inutile da qualsiasi altro indirizzo. Il prezzo è che devi generare i link dal tuo server a ogni visualizzazione di pagina, che è lo schema descritto nella guida al caricamento e all'API e nella documentazione API.
Domini di download
I player dei piani Pro e Max possono mostrare un pulsante Scarica. Un elenco separato, i domini di download consentiti, funziona esattamente come l'elenco di incorporamento ma controlla quali siti possono aprire la pagina di download in un frame. Lascialo vuoto per consentire qualsiasi sito. I visitatori che aprono la pagina di download direttamente su UFOLOAD non sono soggetti a restrizioni, come per la pagina di visione.
Passo 3: salva e verifica
- Salva gli elenchi nella scheda Accesso.
- Apri una pagina su un dominio consentito in una finestra privata e verifica che il video si riproduca. Controlla anche la variante con sottodominio.
- Apri lo stesso incorporamento da un dominio che non è nell'elenco, ad esempio una pagina di test locale servita da un altro nome host, e verifica che il player mostri il messaggio di indisponibilità.
- Per una regola per Paese o IP, fai il test senza aver effettuato l'accesso, da una rete che corrisponde alla regola se ne hai una.
- Mantieni la policy sul referrer della tua pagina su un valore sensato come
strict-origin-when-cross-origin. Una policyno-referrernasconde l'host al player, che quindi non può applicare l'elenco.
Usati insieme, un elenco di incorporamento e link firmati di breve durata coprono la maggior parte dei casi reali: l'hotlinking occasionale viene fermato alla porta, e chi va oltre deve faticare per ottenere un link che scade. Quando gli annunci sono disponibili e li mostri nel player, la guida alla monetizzazione spiega i formati pubblicitari e come vengono programmate le interruzioni. L'elenco di tutto ciò che è disponibile nel player è nella pagina delle funzioni, e la checklist per l'hosting video mostra quali controlli di accesso pretendere da qualsiasi fornitore.
Carica un video e ottieni un player HLS e una chiave API in pochi minuti. I limiti dei piani sono indicati nella pagina dei prezzi.