ANA KURAL
1 Uyelik = 1 Aktif Dinleme
Ayni anda sadece 1 yerden muzik calinabilir
Dogru Kullanim
- • Magaza: 1 uyelik → 1 hoparlor sistemi
- • Restoran: 1 uyelik → 1 alan
- • Ofis: 1 uyelik → 1 calisma alani
Yanlis Kullanim
- • Ayni PC'den tuvalet + restoran = 2 uyelik gerekli
- • Farkli subeler = Her sube ayri uyelik
- • Ayni hesapla 2 farkli lokasyon = YASAK
💡 Basit Anlatim
Ne Tespit Ediyoruz?
Bir uyelik ile ayni anda birden fazla stream acilmis mi?
Ornek: Saat 14:00'te hem Istanbul'dan hem Ankara'dan ayni hesapla sarki dinleniyorsa → KOTUYE KULLANIM
On Izleme Sorunu Cozumu
Kullanici ayni cihazda sarkilari 30 saniyede bir geciyorsa bu NORMAL.
Cunku: Ayni IP + Ayni Cihaz = Tek kullanici, on izleme yapiyor
Sorun: Farkli IP veya Farkli Cihaz = Baska biri kulaniyor
🔧 Tespit Algoritmasi
Es Zamanli Stream Tespiti
Mantik: Ayni kullanicinin 5 dakikalik zaman diliminde FARKLI IP/cihazlardan dinleme kaydi var mi?
-- Supheli Kullanicilari Bul
SELECT
user_id,
COUNT(DISTINCT ip_address) as unique_ips,
COUNT(*) as play_count
FROM muzibu_song_plays
WHERE created_at BETWEEN :start_date AND :end_date
GROUP BY user_id, DATE(created_at), HOUR(created_at), FLOOR(MINUTE(created_at)/5)
HAVING unique_ips > 1
-- Ayni 5 dakikada 2+ farkli IP = Supheli
- • Zaman Penceresi: 5 dakika
- • Farkli IP Sayisi: 2+ (ayni 5 dk icinde)
- • Minimum Tekrar: Analiz doneminde 5+ kez (tek seferlik degil, pattern)
Ciddiyet Hesaplama
🗄️ Veritabani Yapisi
Tablo: muzibu_abuse_reports
| Alan | Tip | Aciklama |
|---|---|---|
| id | bigint | PK |
| user_id | bigint FK | Kullanici |
| overlap_count | int | Toplam cakisma sayisi |
| unique_ips | int | Farkli IP sayisi |
| severity | enum | 'low', 'medium', 'high', 'critical' |
| evidence | json | Detay: IP listesi, zamanlar, cihazlar |
| analysis_start | date | Analiz baslangic tarihi |
| analysis_end | date | Analiz bitis tarihi |
| status | enum | 'pending', 'warning_sent', 'acknowledged', 'banned' |
| ban_until | datetime null | Yasak bitis tarihi (null = yok) |
| admin_notes | text null | Admin notu |
| created_at | timestamp | Olusturma |
| updated_at | timestamp | Guncelleme |
Tablo: muzibu_abuse_acknowledgments
| Alan | Tip | Aciklama |
|---|---|---|
| id | bigint | PK |
| abuse_report_id | bigint FK | Ilgili rapor |
| user_id | bigint FK | Kullanici |
| full_name | varchar(255) | Yazilan isim soyisim |
| confirmation_text | varchar(255) | "Anladim kabul ediyorum" |
| ip_address | varchar(45) | Onay IP'si |
| user_agent | text | Tarayici |
| created_at | timestamp | Onay zamani |
🖥️ Admin Paneli
1. Analiz Baslat
2. Supheli Kullanicilar
| Kullanici | Cakisma | IP Sayisi | Ciddiyet | Durum | Aksiyonlar |
|---|---|---|---|---|---|
|
ABC Restoran
abc@email.com
|
32 | 5 | YUKSEK | Beklemede |
|
|
XYZ Kafe
xyz@email.com
|
12 | 3 | ORTA | Uyari Gonderildi |
|
3. Yasak Verme Ekrani (Modal)
Kullaniciya Yasak Ver
4. Kullanici Gecmisi (Detail Modal)
ABC Restoran
abc@email.com
15 Aralik 2025 - 18 cakisma tespit edildi
"Ahmet Yilmaz" - "Anladim kabul ediyorum"
29 Aralik 2025 - 32 cakisma (tekrar ihlal)
Admin: "Ikinci kez uyari sonrasi devam etti"
⚠️ Frontend Uyari Ekrani
Uyari Modal
Hesabinizda Supheli Aktivite
Hesabinizin ayni anda birden fazla lokasyondan kullanildigi tespit edildi. Muzibu kurallarina gore her uyelik sadece 1 aktif dinleme icin gecerlidir.
Yasak Ekrani
Hesabiniz Gecici Olarak Askida
Kotuye kullanim kurallari ihlali nedeniyle hesabiniz 7 gun sureyle askiya alindi.
Yasak Bitis: 5 Ocak 2026, 14:30
Itiraz icin: destek@muzibu.com
🚫 Kisitlama Akisi
Uyari Gonder
Kullanici siteye girdiginde uyari modal'i gorunur. Isim + "Anladim" yazarak onaylar.
Tekrar Ihlal
Kullanici uyariyi kabul ettikten sonra yine ihlal ederse, admin secenekleri gorunur.
Sureli Yasak
Admin X gunluk yasak verir. Kullanici bu sure boyunca siteyi kullanamaz.
Yasak Sureleri
📋 Uygulama Adimlari
Backend
2 tablo olustur (abuse_reports, acknowledgments)
Analiz algoritmasi + severity hesaplama
AbuseReport, AbuseAcknowledgment
CheckAbuseStatus - yasak/uyari kontrolu
Frontend
Analiz + Tablo + Aksiyon butonlari
Frontend uyari + isim/onay formu
Yasakli kullanici bilgilendirme sayfasi
Esik degerlerini gercek veri ile dogrula