Muzibu - HLS İndirme Koruması
📅 11 Ocak 2026 - 21:30
Sorun: Kullanıcılar F12 (DevTools) açıp "Network" sekmesinden şarkı dosyalarını görebiliyor ve "indirebiliyoruz" diye laf ediyorlar.
Çözüm: DevTools açıldığı anda sistemi kapatacağız:
💡 Sonuç:
Arkadaşlar "şarkıyı indirebiliyoruz" diyemez. Deneyen anında logout olur, tekrar giriş yapsa bile aynı şey olur.
window.outerWidth - window.innerWidth → DevTools genişlik kontrolüdebugger statement → Açıksa duraklarconsole.log toString() override → Console açıksa tetiklenirwindow.devtools timing → Performance kontrolüresources/views/themes/muzibu/layouts/app.blade.php
→ DevTools detector script eklenecek (head'de)
public/themes/muzibu/js/devtools-guard.js
→ YENİ DOSYA: Koruma sistemi (detector + modal + logout)
app/Http/Middleware/AdminAuthMiddleware.php
→ Admin login'de whitelist token verecek
resources/views/components/muzibu/devtools-warning-modal.blade.php
→ YENİ DOSYA: Uyarı modalı (kırmızı ekran + countdown)
Sayfa Yüklendiğinde
DevTools detector aktif olur, her 500ms kontrol eder
DevTools Açıldığında
Whitelist kontrolü yapılır (admin token var mı?)
Token Varsa (Admin/Root)
Koruma bypass edilir, DevTools kullanılabilir
Token Yoksa (Normal Kullanıcı)
Agresif tepki başlar
0 saniye: Ekran kararır, modal açılır
0-3 saniye: Geri sayım (3... 2... 1...)
3 saniye: Logout + redirect /login
Tekrar Giriş Yaparsa
DevTools açıksa yine aynı döngü başlar (sonsuz)
Bazı browser extension'lar (AdBlock, Translator) DevTools varmış gibi algılanabilir.
Çözüm: Birden fazla yöntemle kontrol ederiz, sadece 1 yöntem tetiklenirse alarm vermeyiz.
Admin login olduysa ama whitelist token verilmezse, kendi kendini logout yapar.
Çözüm: Backend'de "is_admin" kontrolü yapıp otomatik token vereceğiz.
Teknik bilgisi olan biri JavaScript'i disable edip veya browser debug edip bypass edebilir.
Gerçek: %100 koruma imkansız. Ama "arkadaşların laf etmesini" önler.
DevTools açmayan kullanıcılar hiçbir şey fark etmez, performans etkisi minimal (500ms interval).
DevTools Detector JS Dosyası Oluştur
public/themes/muzibu/js/devtools-guard.js
4 detection yöntemi + whitelist kontrolü + logout fonksiyonu
Warning Modal Component Oluştur
resources/views/components/muzibu/devtools-warning-modal.blade.php
Kırmızı ekran + uyarı + geri sayım + IP gösterme
Layout'a Entegre Et
resources/views/themes/muzibu/layouts/app.blade.php
Script import + modal component include (footer'dan önce)
Admin Whitelist Token Ekle
Backend'de admin login olunca LocalStorage'a token yazılacak
Login controller veya middleware'de yapılacak
Test Et
Normal kullanıcı + Admin + DevTools açık/kapalı senaryoları
Production'a Al
Cache temizle, build al, canlıya deploy
Adım: Siteyi aç, müzik dinle, DevTools açma
Beklenen: Hiçbir şey olmaz, normal kullanım
Adım: Siteyi aç, F12 bas
Beklenen: Kırmızı ekran, uyarı, 3 saniye sonra logout
Adım: Admin login ol, F12 bas
Beklenen: Whitelist token varsa bypass, DevTools kullanılabilir
Adım: DevTools açık logout ol, tekrar login ol
Beklenen: DevTools hala açıksa yine logout (sonsuz döngü)
Console'a sürekli mesaj yazdırarak Network tab'ını gizler
Performans etkisi olabilir, ama "arkadaşları" daha çok şaşırtır
DevTools açanların IP'sini veritabanına kaydet (admin panelde göster)
"Kim denedi?" sorusunu cevaplar
DevTools açan kullanıcının ekran görüntüsünü Discord/Telegram'a gönder
Eğlenceli ama karmaşık, gerekli mi tartışılır
🎉 Başarı Kriteri:
Arkadaşlar F12 bastığında ekran kararır, 3 saniye sonra logout olur. "Şarkıyı indirebiliyoruz" diyemezler, çünkü DevTools açamadan atılırlar.