M3U8 hotlink koruması için hangi başlıklar önemlidir?
| Başlık | Ne olmalı | Ne zaman kullanılmalı? |
|---|---|---|
| Referer | Akışın normalde oynatıldığı sayfa URL. | Kaynak doğrudan .m3u8 isteklerini reddettiğinde veya 403 değerini döndürdüğünde kullanın. |
| User-Agent | Kaynağa gönderilen istemci kimliği. | Kaynak tarayıcılara izin verdiğinde ancak botları veya bilinmeyen istemcileri reddettiğinde kullanın. |
| Origin | Talep eden web uygulamasının kaynağı. | Genellikle bunu tarayıcıya veya proxy'ye bırakın; Uç noktayı kontrol etmediğiniz sürece sahtesini yapmayın. |
| Cookie | Orijinal sitedeki oturum durumu. | Akış iş akışının sahibi değilseniz kaçının. Bu oyuncu çerez istemez. |
Özel bir Referer ile M3U8 nasıl oynanır?
- 1
Orijinal oynatma sayfasını bulun
Akışın normalde Referer olarak çalıştığı sayfayı kullanın. .m3u8 URL dosyasının kendisini Referer olarak kullanmayın.
- 2
M3U8 URL'i yapıştırın
Manifest'i oynatıcıya yapıştırın ve bir temel oluşturmak için özel başlıklar olmadan bir kez oynatmayı deneyin.
- 3
CORS proxy'yi etkinleştirin
Tarayıcılar sayfa komut dosyalarının bu başlıkları doğrudan medya isteklerinde ayarlamasına izin vermediğinden, özel Referer ve User-Agent iletimi proxy gerektirir.
- 4
Referer ve User-Agent'ı ayarlayın
Gelişmiş başlık kontrollerini açın, orijinal sayfa URL'yi Referer olarak yapıştırın ve yalnızca kaynak istemcileri filtreliyorsa normal bir masaüstü tarayıcısı User-Agent ekleyin.
- 5
Durum raporunu çalıştırın
Akışı aynı proxy/başlık yolu üzerinden doğrulayın; böylece bildirimin, anahtarların veya segmentlerin hâlâ engellenip engellenmediğini görebilirsiniz.
Tarayıcı oynatıcıları neden Referer'ı doğrudan ayarlayamıyor?
Tarayıcılar Referer ve User-Agent gibi başlıkları korur. Bir web sayfası bunları doğrudan HLS segment istekleri için serbestçe yeniden yazamaz. Bu aracın özel başlıkları isteğe bağlı bir proxy aracılığıyla iletmesinin nedeni budur: tarayıcı proxy ile konuşur ve proxy, seçtiğiniz başlıklarla HLS kaynağıyla konuşur.
Hangi Referer değeri genellikle işe yarar?
https://example.com/watch/123 gibi, videonun yerleştirildiği standart sayfa URL'i kullanın. Kaynağın beklediği gerçek sayfa olmadığı sürece CDN alanını veya .m3u8 URL alanını kullanmayın. Kaynak sayfa yeniden yönlendiriyorsa, tarayıcının adres çubuğunda gösterilen son URL öğesini kullanın.
Hotlink korumasını CORS'tan nasıl anlarım?
CORS tarayıcının bir yanıtı okumasını engeller. Hotlink koruması, başlıklar politikasıyla eşleşmediği sürece kaynağın isteği reddetmesine neden olur. Proxy CORS'ü düzelttiği halde köken hala 403'ü döndürüyorsa Referer'ı ekleyin. Oynatma Referer ayarlandıktan sonra başlarsa akış, hotlink korumalıdır.
İlgili HLS hata ayıklama sayfaları
- HLS CORS hatası engellenen tarayıcı isteklerinin ne zaman CORS üstbilgilerine veya bir proxy'ye ihtiyaç duyduğunu açıklar.
- M3U8 bağlantı sorunlarını giderme ölü ve korumalı bağlantılar için daha geniş bir hata kontrol listesini kapsar.
Sık sorulan sorular
Bir M3U8 akışı için özel bir Referer ayarlayabilir miyim?
Evet. Proxy'yi etkinleştirin, gelişmiş başlık kontrollerini açın ve akışın normalde Referer olarak oynatılacağı URL sayfasını ayarlayın. Vekil bu Referer'i HLS kaynağına iletir.
Tarayıcı neden Referer'ı doğrudan ayarlayamıyor?
Referer ve User-Agent korumalı istek başlıklarıdır. Tarayıcı JavaScript'i doğrudan medya istekleri için bunları serbestçe yeniden yazamaz, bu nedenle özel başlık testi, başlıkları sunucu tarafına ileten bir proxy'ye ihtiyaç duyar.
Hotlink korumalı HLS için hangi Referer'ı kullanmalıyım?
.m3u8 URL dosyasını değil, akışın gömülü olduğu orijinal web sayfasını URL kullanın. Çoğu kaynak, bildirimleri, anahtarları veya medya segmentlerini sunmadan önce bu sayfayı kontrol eder.
User-Agent'ı da değiştirmeli miyim?
Yalnızca kaynak istemciye göre filtreleniyorsa. Yalnızca Referer ile başlayın, ardından akış hala reddediliyorsa normal bir masaüstü tarayıcısı User-Agent ekleyin.
Özel Referer DRM korumalı akışlarda çalışır mı?
Hayır. Referer, hotlink korumasına yardımcı olabilir, ancak Widevine, FairPlay veya PlayReady gibi DRM sistemlerini atlamaz.