Защита от хотлинкинга и шифрование изображений
Защита коммерческого уровня от прямого использования ссылок и скачивания
Использование разработчиками
Расширенная версия EFV предлагает несколько механизмов защиты: шифрование изображений и обложек, двойное шифрование на основе hls, защиту по временной метке и ограничение числа запросов. Разработчики могут подключать их к собственным системам. Принципы работы и подробности приведены в документации.
Двойное шифрование на основе hls
Система использует подход, похожий на защиту от хотлинкинга у Polyv. Изменения в hls.js позволяют реализовать собственную логику расшифровки и симметричное шифрование в обоих направлениях. Логика шифрования и расшифровки затем защищается обфускацией JS. Модифицированная версия HLS.JS, аналогичная решению Polyv, привязывает вызовы к заданным доменам и выполняет симметричное шифрование и расшифровку совместно с сервером EFV. Она защищает от хотлинкинга, скачивания, объединения сегментов и взлома, а также ограничивает вызовы разрешёнными доменами.
- Модифицированный
HLS.JSреализует собственную логику шифрования и расшифровки. - Симметричное шифрование и расшифровка между
EFVи клиентскимHLS.JSобеспечивают защиту от хотлинкинга, объединения сегментов и скачивания на уровне архитектуры. - Несколько уровней шифрования и расшифровки в
HLS.JSделают взлом крайне сложным. Код содержит более десяти тысяч строк — попробуйте и оцените сами. - Наличие коммуникационного
KEYделает взлом невозможным. При каждой смене защитногоKEYповторная генерацияHLS.JSсоздаёт новую версию. Всю архитектуру защиты можно полностью обновить всего за 1 минуту. - Приглашаем специалистов попытаться взломать защиту. Если вам удастся воспроизвести видео без разрешения, я признаю поражение!
Шифрование изображений и обложек
При включённом шифровании все обложки и снимки, созданные при транскодировании, превращаются в зашифрованные нечитаемые файлы. При открытии их ссылок начинается скачивание, а доступного для просмотра изображения нет. Для нормального отображения в браузере нужен наш клиентский модуль расшифровки js. Функцию можно отключить в любой момент, после чего постеры и обложки снова отображаются обычным образом.
Преобразование изображений и обложек в текст
Преобразование в текст включено автоматически. Оно динамически заменяет прямые ссылки на обложки и снимки ссылками на текст txt в формате bash64. При открытии показывается текст, а не изображение, при очень низкой нагрузке на сервер. Затем клиентская часть может использовать расшифровку bash64 для обработки этих данных.
Защита по временной метке и ограничение запросов
В настройках включите защиту от хотлинкинга по временной метке и числу воспроизведений и задайте key. Используя этот key, соберите параметры, примените шифрование md5 и добавьте результат к адресу m3u8. Сервер проверяет ссылку и параметры и возвращает обычное содержимое только при правильных значениях. В противном случае он отвечает статусом 403 либо случайно выбирает один из заранее настроенных рекламных сегментов.