Щом едно видео е публично, всеки, който може да прочете кода на страницата ви, може да копира адреса му. Понякога това е наред. Често не е: друг сайт вгражда плейъра ви и харчи трафика ви, лицензът покрива само някои държави или блок от адреси постоянно източва библиотеката ви. UFOLOAD ви дава няколко механизма за това и те работят на различни нива. Тази статия обяснява какво прави всеки от тях, как работят правилата за сравнение и докъде стига всеки, за да ги комбинирате разумно, вместо да разчитате на един-единствен превключвател.
Механизмите накратко
| Механизъм | Какво ограничава | Къде се настройва |
|---|---|---|
| Разрешени домейни за вграждане | Кои сайтове могат да показват плейъра ви в iframe | Студио на плейъра, раздел „Достъп“ |
| Забранени държави | Зрители от изброените държави | Студио на плейъра, раздел „Достъп“ |
| Забранени IP адреси | Единични адреси и маски | Студио на плейъра, раздел „Достъп“ |
| Разрешени домейни за изтегляне | Кои сайтове могат да отварят страницата за изтегляне | Студио на плейъра, раздел „Достъп“ |
| Подписани връзки със срок на валидност | Колко дълго адресът за възпроизвеждане остава валиден и за кого | API, POST /files/{id}/links |
Всичко в този списък е част от настройките на плейъра и доставката във вашия акаунт и важи за всичките ви видеа. Правилата са налични във всеки план; само самият бутон за изтегляне е ограничен до плановете Pro и Max, както показва страницата с цените.
Стъпка 1: заключете вграждането до своите домейни
Плейърът за вграждане работи в iframe на чужда страница и браузърът му казва коя е тази страница чрез referrer. Плейърът предава този хост на сървъра, който го сравнява с вашия списък. Ако хостът не е в списъка, сървърът отказва с 403 и плейърът показва съобщение за недостъпност вместо видеото.
Правилата за сравнение са строги и си струва да ги знаете точно:
example.comразрешава точно този хост и нищо друго. Той не разрешаваwww.example.com.*.example.comразрешава всеки поддомейн наexample.com, но не и самияexample.com. За да покриете сайт и поддомейните му, въведете и двата записа.- Регистърът на буквите няма значение, а портовете и точката в края се игнорират, така че
Example.com:8080съвпада сexample.com. - Списъкът побира до 100 записа. Празен списък означава, че плейърът може да се вгражда навсякъде — това е настройката по подразбиране.
- Пишете само имена на хостове. Ако по погрешка поставите пълен адрес, се запазва само хостът му.
Добавете всеки хост, на който реално вграждате, включително тестови домейни и домейни за преглед, преди да включите списъка. Видео, което внезапно показва съобщение за недостъпност на собствения ви тестов сайт, е най-честата изненада.
Какво не прави заключването по домейн
Този механизъм спира случайното hotlinking — когато някой постави вашия iframe в своята страница. Той не е граница на сигурността и е добре да знаете защо. Проверката разчита на referrer, изпратен от браузъра. Ако страницата премахва referrer, плейърът не може да разбере къде е вграден и в този случай не блокира, защото иначе настройките за поверителност и политиките за referrer биха счупили легитимни вграждания. По същия начин упорит посетител, който копира подписания адрес на плейлиста от панела „Мрежа“, може да го пусне другаде, докато не изтече, защото сегментите се проверяват по подписа на връзката, а не по страницата, която ги иска. Публичната страница за гледане на видеото също не се ограничава от списъка с домейни: всеки с връзката може да я отвори.
Затова гледайте на списъка като на ограда, която държи настрана честните съседи. За по-силен контрол върху поток, който подавате сами, използвайте подписани връзки, описани по-долу. Ако ви трябва обратното — видео, до което имат достъп само избрани хора, — имайте предвид, че UFOLOAD няма частни видеа и DRM; прочетете собствен хостинг срещу безплатни платформи срещу видеохостинг, преди да разчитате на него за поверително съдържание.
Стъпка 2: блокирайте държави и IP адреси
Правилата по държави и IP се прилагат на две места: когато зрителят отвори страницата за гледане или вграждане и при всяка заявка за плейлиста и сегментите на нивото на доставката. Проверките при доставката се правят за всяка заявка, а не се кешират, така че добавеното правило важи още за следващия сегмент, а някой, който вече има връзка, не може да заобиколи правилото, като я запази.
- Държавите се въвеждат като двубуквени кодове по ISO 3166-1 alpha-2, разделени със запетаи, например
US, CN, RU. Държавата на зрителя се определя по IP адреса чрез база данни за геолокация. Всеки списък побира до 100 записа. - IP адресите могат да са единичен адрес като
203.0.113.7или маска със звездичка в последния октет като203.0.113.*, която покрива целия диапазон от 256 адреса. IPv6 адресите могат да се въвеждат точно.
Две практически предупреждения. Маските са груб инструмент: маска .* върху мобилна или офис мрежа блокира всеки легитимен човек зад нея. А географията по IP е толкова точна, колкото са данните за адресите зад нея. Посетителите през VPN или прокси изглеждат така, сякаш са там, където е изходният възел, така че забраната по държава е начин да намалите нежелания трафик или добросъвестно да спазите регионален лиценз, а не гаранция.
Вашите собствени правила не ви блокират, докато сте влезли като член на организацията, която притежава видеото, както не блокират и нашия екип по поддръжката. Това е нарочно, за да не се заключите извън библиотеката си, ако забраните собствената си държава, но означава и че трябва да тествате от браузър без вход или от друга мрежа.
Подписани връзки за собствен плейър
Ако възпроизвеждате потока в своя страница с hls.js (вижте вграждане на HLS видео), списъкът с домейни не участва, защото плейърът никога не иска разрешение от страницата на UFOLOAD. Контролът идва от самата връзка. POST /api/v1/files/{id}/links издава връзки за възпроизвеждане и изтегляне със срок на валидност от 60 секунди до 30 дни. Добавете bind_ip, за да обвържете връзката с един IPv4 адрес, или bind_cookie, за да я обвържете със стойност на бисквитка, която сървърът ви задава на посетителя; тогава отговорът посочва бисквитката, която трябва да придружава заявката.
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"}'Кратък срок на валидност в комбинация с обвързване е най-силният наличен инструмент: връзка, копирана от страницата ви, става безполезна след минути и е безполезна от всеки друг адрес. Цената е, че трябва да издавате връзки от сървъра си при всяко зареждане на страницата — точно този модел описват ръководството за качване и API и документацията на API.
Домейни за изтегляне
Плейърите в плановете Pro и Max могат да показват бутон за изтегляне. Отделен списък — разрешени домейни за изтегляне — работи точно като списъка за вграждане, но определя кои сайтове могат да отварят страницата за изтегляне в рамка. Оставете го празен, за да разрешите всички сайтове. Посетителите, които отварят страницата за изтегляне директно в UFOLOAD, не се ограничават, както и при страницата за гледане.
Стъпка 3: запазете и тествайте
- Запазете списъците в раздела „Достъп“.
- Отворете страница на разрешен домейн в частен прозорец и се уверете, че видеото се възпроизвежда. Проверете и варианта с поддомейн.
- Отворете същото вграждане от домейн, който не е в списъка, например локална тестова страница, подавана от друго име на хост, и се уверете, че плейърът показва съобщението за недостъпност.
- За правило по държава или IP тествайте без вход, от мрежа, която отговаря на правилото, ако имате такава.
- Поддържайте политиката за referrer на собствената си страница на разумна стойност като
strict-origin-when-cross-origin. Политикатаno-referrerскрива хоста от плейъра, който тогава не може да приложи списъка.
Заедно списъкът за вграждане и краткотрайните подписани връзки покриват повечето реални случаи: случайното hotlinking се спира на входа, а всеки, който отиде по-далеч, трябва да се труди за връзка, която изтича. Когато рекламата е налична и я пускате в плейъра, ръководството за монетизация обяснява рекламните формати и как се разпределят рекламните паузи. Списъкът с всичко налично в плейъра е на страницата с възможностите, а чеклистът за избор на видеохостинг показва какви механизми за достъп да изисквате от всеки доставчик.
Качете видео и получете HLS плейър и API ключ за минути. Лимитите на плановете са на страницата с цените.