Sorun: HLS dönüşümü tamamlanmamış şarkılar için sistem MP3 fallback kullanıyor. Bu şifresiz MP3 dosyasını direkt serve ediyor!
Risk: MP3 URL'si paylaşılırsa, kimlik doğrulaması olmadan tüm şarkı indirilebilir.
Etkilenen Kullanıcılar: Guest (üye olmayan) + Normal User (premium olmayan)
Etki Alanı: Henüz HLS'e dönüşmemiş tüm şarkılar (lazy conversion bekleyen)
Amaç: Şu anki test şarkılarını (deneme dataları) toplu olarak HLS + AES-128 ile dönüştür.
Nasıl:
Beklenen Sonuç: Tüm test şarkıları 5-10 dakika içinde HLS + AES-128'e dönüşecek.
Amaç: HLS dönüşmemişse MP3 serve etme, bunun yerine "hazırlanıyor" mesajı göster.
Dosya: SongStreamController.php (Guest + Normal User bölümleri)
Beklenen Sonuç: Hiçbir şarkı şifresiz MP3 olarak serve edilmeyecek!
Amaç: 30 saniye preview için daha hassas kontrol. 3 chunk çok az!
Şu an: 10 saniye/chunk → 30 saniye = 3 chunk
Yeni: 5 saniye/chunk → 30 saniye = 6 chunk (2x daha hassas!)
Dosya: ConvertToHLSJob.php
Beklenen Sonuç:
Not: Bu değişiklik sonrası yeni yüklenen şarkılar 5 saniye chunk ile dönüşecek. Mevcut HLS'li şarkılar 10 saniye olarak kalır (sorun değil).
Amaç: Response'ta preview_chunks parametresi ekle, frontend'de chunk sayısı kontrolü yap.
Dosya: SongStreamController.php
Frontend Implementation (Opsiyonel): HLS player'da chunk sayısını kontrol et, 6. chunk'tan sonra durmasını sağla.
Amaç: Encryption key endpoint'ine ek güvenlik katmanları ekle.
Dosya: SongController.php - serveEncryptionKey()
Beklenen Sonuç: Encryption key sadece yetkili stream istekleri için serve edilir, bot/hotlink engellenir.
Amaç: Guest/Normal user için token sürelerini kısalt, URL paylaşım riskini azalt.
Dosya: SongStreamController.php
Beklenen Sonuç: Guest user URL'i paylaşsa bile 10 dakika sonra geçersiz olur.
| # | İşlem | Süre | Kritiklik | Dosya |
|---|---|---|---|---|
| 1 | Test müziklerini HLS'e dönüştür | 5 dk | 🔴 KRİTİK | Tinker |
| 2 | MP3 fallback'i kaldır | 10 dk | 🔴 KRİTİK | SongStreamController.php |
| 3 | Chunk süresini 5 saniye yap | 15 dk | 🟡 ÖNEMLİ | ConvertToHLSJob.php |
| 4 | Preview limiti 30 saniye ayarla | 5 dk | 🟡 ÖNEMLİ | SongStreamController.php |
| 5 | Key endpoint güvenliği | 20 dk | 🟢 ORTA | SongController.php |
| 6 | Signed URL süresi kısalt | 5 dk | 🟢 ORTA | SongStreamController.php |
| TOPLAM | ~1 saat | |||
Seçenek 1: Tüm önerileri sırayla uygula (1-2-3-4-5-6)
Seçenek 2: Sadece kritik olanları uygula (1-2), ardından test et
Seçenek 3: Önce X numaralı öneriyi uygula
👉 Hangi yaklaşımı tercih ediyorsun?