7 Ocak 2026 - API Güvenlik Açığı Raporu
Sorun: Kullanıcılar tarayıcının geliştirici araçlarını (DevTools) açarak şarkı dosyalarının tam adresini görebiliyor ve indirebiliyor.
Neden: API yanıtlarında şarkının gerçek dosya yolu (file_path) paylaşılıyor.
Çözüm: API yanıtlarından dosya yolunu kaldırmak. Player zaten güvenli bir yol kullanıyor.
Risk: Site bozulmaz çünkü player bu bilgiyi kullanmıyor.
SongStreamController.php - Signed URL + HLS şifreleme| Bileşen | file_path Kullanıyor? | Kaldırınca Etkilenir? |
|---|---|---|
| Frontend Player (player-core.js) | ❌ Hayır | ❌ Etkilenmez |
| Frontend API Yanıtları | ✅ Evet | ✅ Kaldırılmalı |
| Admin Panel Blade | ✅ Evet (PHP) | ❌ Etkilenmez |
| Admin Mini Player | ⚠️ Fallback | ❌ Etkilenmez |
Her şarkı çalınmadan önce /api/muzibu/songs/{id}/stream endpoint'i çağrılıyor. Bu endpoint signed URL döndürüyor. file_path hiç kullanılmıyor.
Admin blade'ler $song->file_path'i PHP model'den alıyor, API'den değil. Bu yüzden API'den kaldırmak admin'i etkilemez.
Öncelik song_id ile HLS. file_path sadece HLS başarısız olursa fallback. Blade'den PHP ile gönderiliyor.
HLS şifreleme + Signed URL zaten aktif. Sadece API yanıtından ham dosya yolunu kaldırmak yeterli.
13 yerden 'file_path' => $song->file_path, satırını kaldır
Redis cache temizle (MuzibuCacheService)
Frontend player, admin mini player, playlist/albüm sayfaları test et
Nginx X-Accel-Redirect: MP3 dosyalarına direkt erişimi engelleyip sadece Laravel üzerinden serve et
Referer Kontrolü: Sadece muzibu.com'den gelen isteklere izin ver
Hotlink Protection: .htaccess veya Nginx ile hotlink engelle
Önerilen: file_path kaldırmak en basit ve etkili çözüm