[XTR] Multi-Account Detector (MAD)
Forumunuzun Güvenlik Kalkanı: Gelecek Nesil Çoklu Hesap Tespit ve Yönetim Sistemi
Nedir ve Ne İşe Yarar?
Multi-Account Detector (MAD), XenForo 2.3.x için sıfırdan geliştirdiğimiz, profesyonel seviye bir çoklu hesap tespit ve yönetim eklentisidir. Forum yöneticilerinin en büyük sorunlarından biri olan mükerrer hesap kullanımını; basit bir IP kontrolünün çok ötesine geçerek, üç farklı katmanda analiz eder ve otomatik aksiyonlar alır.
MAD'ın temel felsefesi şudur:
Tek bir yönteme güvenmek yetersizdir. Kullanıcılar VPN kullanabilir, IP değiştirebilir, çerezlerini silebilir. Bu yüzden MAD, birbirini tamamlayan üç farklı tespit teknolojisini aynı anda kullanarak bu boşlukları kapatır ve manipülasyonu neredeyse imkansız hale getirir.
Üçlü Tespit Mekanizması
1. IP Adresi Geçmişi Analizi
Sistem, sadece kullanıcının o anki IP adresine bakmaz. XenForo'nun çekirdek IP kayıtlarını kullanarak, kullanıcının belirlediğiniz zaman dilimi içindeki (varsayılan 90 gün, 7 ila 365 gün arası ayarlanabilir)
tüm geçmiş IP hareketlerini çapraz sorgular. Dinamik IP kullanan veya farklı ağlardan bağlanan kullanıcıları bile geçmiş verilerle eşleştirebilir.
Bu özelliğin ayarı:
Admin Panel → Seçenekler → Multi-Account Detector → "IP Scan History Depth (Days)" alanından yapılır. Varsayılan değer 90 gündür. Büyük forumlarda performans dengesini korumak adına bu değeri ihtiyacınıza göre ayarlayabilirsiniz.
2. Gelişmiş Tarayıcı Parmak İzi (Browser Fingerprinting)
Bu, eklentimizin en güçlü kozudur. Kullanıcının cihazından toplanan donanım ve yazılım bilgilerini birleştirerek benzersiz bir "Dijital Kimlik" oluşturur. Toplanan veriler şunlardır:
- Donanım Çekirdeği: İşlemci çekirdek sayısı, cihaz belleği, platform bilgisi, dokunmatik nokta sayısı, tarayıcı dili ve dil listesi.
- WebGL Verileri: Ekran kartı üreticisi ve modeli (GPU), WebGL sürümü, gölgelendirme dili sürümü (GLSL), maksimum doku boyutu ve desteklenen uzantılar.
- Canvas Parmak İzi: Tarayıcının HTML5 Canvas üzerinde çizim yapma şekli her cihazda farklıdır. Sistem, özel bir çizim oluşturup bunun piksel verisinden bir hash üretir.
- Ses İşleme Parmak İzi (Audio Fingerprint): OfflineAudioContext API kullanılarak, cihazın ses işleme motorunun çıktısından benzersiz bir imza elde edilir. Bu, özellikle aynı tarayıcı ailesinde bile cihazları ayırt etmekte etkilidir.
- Yüklü Font Taraması: Sistemde yüklü olan yazı tiplerinin listesi, her bilgisayarda farklıdır. MAD, 15 farklı fontu tarayarak yüklü olanları tespit eder ve bunu parmak izine dahil eder.
- Ekran Bilgileri: Ekran çözünürlüğü, kullanılabilir alan, renk derinliği, piksel oranı ve ekran yönü.
- Tarayıcı Yetenekleri: localStorage, WebSocket, Worker, ServiceWorker, Bildirim API'si gibi tarayıcı özelliklerinin varlığı.
- Eklenti Listesi: Tarayıcıda yüklü olan eklentilerin (plugins) listesi.
Çift Katmanlı (Dual-Layer) Parmak İzi Mimarisi:
MAD, toplanan tüm bu verileri iki katmana ayırır:
- Donanım Çekirdeği (Core Hash): İşlemci, GPU, ekran ve zaman dilimi gibi tarayıcılar arası (cross-browser) değişmeyen verilerden oluşur. Kullanıcı Chrome'dan Firefox'a geçse bile bu hash benzer kalır.
- Tam Parmak İzi (Full Hash): Canvas, ses, font ve eklenti gibi tarayıcıya özgü verilerle zenginleştirilmiş tam kimlik.
Bu iki hash, arada bir "_" karakteri ile birleştirilerek 32 karakterlik bir parmak izi oluşturur (örnek:
a1b2c3d4e5f6g7h_i8j9k0l1m2n3o4p5). Sistem eşleşme ararken önce
Çekirdek Hash'e bakar; böylece kullanıcı tarayıcı değiştirse bile yakalanır. Sonra tam eşleşme ile aynı tarayıcıyı doğrular.
Bu özellik varsayılan olarak açıktır. Kapatmak isterseniz:
Admin Panel → Seçenekler → Multi-Account Detector → "Enable Fingerprint Detection" seçeneğini kapatabilirsiniz.
GDPR / KVKK Gizlilik Bildirimi:
Parmak izi (Fingerprint) özelliği; kullanıcının tarayıcı ve donanım özelliklerinden (ekran çözünürlüğü, GPU modeli, yüklü fontlar vb.) elde edilen verileri tek yönlü bir kriptografik karma (FNV-1a hash) fonksiyonundan geçirerek anonim bir 32 karakterlik özet değere dönüştürür. Veritabanınızda saklanan bu hash değerinden orijinal verilere geri dönmek teknik olarak mümkün değildir. Sistem; ad, soyad, e-posta, konum veya herhangi bir doğrudan kişisel tanımlayıcı bilgi toplamaz ve saklamaz. Toplanan tüm veriler yalnızca forum güvenliğini sağlamak amacıyla, meşru menfaat (GDPR Madde 6(1)(f)) ve/veya veri sorumlusunun hukuki yükümlülüğü (KVKK Madde 5/2-ç) kapsamında işlenmektedir. Bununla birlikte, forumunuzun faaliyet gösterdiği ülkeye ve hedef kitlenize bağlı olarak gizlilik politikanızda (Privacy Policy) bu tür cihaz parmak izi kullanımı hakkında kullanıcılarınızı bilgilendirmenizi ve gerekli durumlarda hukuk danışmanınıza başvurmanızı önemle tavsiye ederiz. Parmak izi tespit özelliğini istediğiniz zaman yukarıda belirtilen ayardan kapatabilirsiniz.
3. Kalıcı Çerez Takibi (Persistent Device Token)
MAD, her kullanıcının tarayıcısına kriptografik olarak güvenli, 32 karakterlik benzersiz bir cihaz kimliği (Device Token) atar. Bu kimlik hem
localStorage hem de
Cookie üzerinde saklanır. Kullanıcı çıkış yapıp yeni bir hesapla giriş yaptığında, tarayıcıda saklanan bu kimlik otomatik olarak okunur ve önceki hesaplarla eşleştirilir.
Token, hem XenForo'nun kendi Cookie API'si hem de düz tarayıcı çerezleri üzerinden yedeklenir. Kullanıcı birini silse bile diğeri devreye girer. Token'ın ömrü 1 yıldır (31.536.000 saniye).
Akıllı Risk Puanlama Sistemi
Her eşleşme aynı derecede riskli değildir. Belki iki arkadaş aynı evden internete bağlanıyordur. Bu yüzden MAD, her eşleşme türüne farklı bir puan vererek toplam bir
Risk Skoru (0-100+) hesaplar.
Varsayılan puan ağırlıkları:
- IP Adresi Eşleşmesi: 30 puan
- Çerez (Cookie) Eşleşmesi: 60 puan
- Parmak İzi (Fingerprint) Eşleşmesi: 80 puan
Bu puanlar toplanır. Örneğin bir kullanıcı hem IP hem çerez ile eşleşirse: 30 + 60 =
90 puan alır. Hem IP, hem çerez, hem de parmak izi eşleşirse: 30 + 60 + 80 =
170 puan alır (100+ olarak gösterilir).
Eşik Değeri (Threshold): Varsayılan olarak 50 puandır. Bu değerin üzerine çıkan kullanıcılar için otomatik aksiyon devreye girer. Bu değeri
Admin Panel → Seçenekler → Multi-Account Detector → "Detection Threshold" alanından değiştirebilirsiniz.
Tüm puan ağırlıklarını aynı seçenekler sayfasından özelleştirebilirsiniz:
- "IP Match Score" — IP eşleşmesinin puanı
- "Cookie Match Score" — Çerez eşleşmesinin puanı
- "Fingerprint Match Score" — Parmak izi eşleşmesinin puanı
Otomatik Aksiyon Sistemi
MAD, eşik değerini aşan kullanıcılara otomatik olarak iki farklı aksiyon uygulayabilir:
Aksiyon 1: Moderasyon Kuyruğuna Yönlendirme (Moderate)
Varsayılan ayardır. Tespit edilen kullanıcı otomatik olarak "Moderated" (Onay Bekliyor) durumuna alınır ve XenForo'nun Approval Queue (Onay Kuyruğu) sistemine düşer. Aynı zamanda XenForo'nun dahili Spam Trigger Log'una da kayıt düşülür; böylece yöneticiler "Spam Cleaner" aracında da bu tespiti görebilir.
Aksiyon 2: Otomatik Yasaklama (Ban)
Daha agresif bir yaklaşım tercih ederseniz, tespit edilen kullanıcı kalıcı olarak yasaklanır. Ban sebebi olarak "MAD tarafından otomatik yasaklandı, eşleşen kullanıcılar: [kullanıcı adları]" şeklinde detaylı bir açıklama yazılır.
Bu ayar:
Admin Panel → Seçenekler → Multi-Account Detector → "Detection Action" alanından "Moderate" veya "Ban" olarak değiştirilebilir.
Güvenlik Korumaları: Yöneticiler (is_admin) ve moderatörler (is_moderator) hiçbir zaman otomatik aksiyona tabi tutulmaz. Ayrıca "Reporting User" olarak belirlediğiniz bot hesap da otomatik olarak muaf tutulur.
VPN / Proxy / Tor Tespit ve Engelleme
MAD, yalnızca çoklu hesap tespiti yapmaz; aynı zamanda kayıt anında kullanıcının VPN, Proxy veya Tor ağı kullandığını tespit edebilir ve otomatik aksiyon alabilir.
Desteklenen API sağlayıcıları:
- Proxycheck.io — API anahtarı opsiyonel, ücretsiz planda da çalışır.
- VPNAPI.io — API anahtarı gereklidir.
- IPHub.info — API anahtarı gereklidir.
Ayar yolu:
Admin Panel → Seçenekler → Multi-Account Detector → "Proxy/VPN API Provider" ve
"Proxy/VPN API Key".
VPN/Proxy tespit edildiğinde üç farklı aksiyon uygulanabilir:
- Log (Sadece Kaydet): Hiçbir müdahale yapılmaz, sadece spam log'a kayıt düşülür.
- Moderate (Onay Kuyruğuna Al): Kullanıcı moderated durumuna alınır.
- Reject (Reddet): Kayıt tamamen engellenir ve kullanıcıya bir hata mesajı gösterilir.
Bu ayar:
"Proxy/VPN Action" alanından değiştirilir.
Not: Yerel geliştirme ortamlarındaki IP adresleri (127.0.0.1, ::1, 192.168.x.x, 10.x.x.x) otomatik olarak muaf tutulur; yanlışlıkla kendinizi engelleme riski yoktur.
Bildirim ve Raporlama Sistemi
Her tespit olayında MAD, yöneticilerinizi birden fazla kanaldan bilgilendirir:
1. Yönetici Bildirimi (Admin Alert)
Tespit anında tüm yönetici hesaplarına (is_admin = 1) XenForo'nun dahili bildirim (Alert) sistemi üzerinden anlık uyarı gönderilir. Bildirimin içinde risk puanı ve ilgili log kaydına doğrudan bağlantı bulunur.
2. Otomatik Rapor Konusu (Report Thread)
Belirlediğiniz bir forumda otomatik olarak detaylı bir rapor konusu açılır. Bu konu şu bilgileri içerir:
- Tespit edilen kullanıcı adı ve ID'si
- Risk puanı
- Kullanılan IP adresi
- Eşleşme türleri (IP, Çerez, Parmak İzi)
- Eşleşen diğer hesapların kullanıcı adları
- Uygulanan aksiyon (Moderasyon veya Ban)
- Sistemin önerisi (Risk düzeyine göre farklı uyarılar)
Bu konuyu açacak kullanıcıyı (bot hesap) belirlersiniz:
"Reporting User" ayarından yapılır. Rapor konusunun açılacağı forumu da
"Report Forum" ayarından seçersiniz. Bu forumu sadece yöneticilerin görebileceği gizli bir alan olarak ayarlamanız önerilir.
İlişki Haritası (Relation Map)
MAD'ın en etkileyici ve görsel özelliğidir.
Admin Panel → Kullanıcılar → Multi-Account Detector → Relation Map yolundan erişilir.
Bu ekran, tüm tespit edilen kullanıcı bağlantılarını interaktif bir ağ grafiği (Network Graph) üzerinde görselleştirir. Her kullanıcı bir düğüm (node) olarak gösterilir; aralarındaki bağlantılar ise çizgilerle (link) ifade edilir.
- Mavi düğümler: Aktif üyeler
- Turuncu düğümler: Moderasyonda bekleyen üyeler
- Düz çizgiler: Parmak izi eşleşmesi
- Kesikli çizgiler: Çerez eşleşmesi
Haritada "+" ve "-" butonlarıyla yakınlaştırma/uzaklaştırma yapabilir, herhangi bir düğüme tıklayarak o kullanıcının detaylı bilgilerine (kayıt tarihi, son aktivite, bağlı kullanıcı listesi) ulaşabilirsiniz. Sağ paneldeki istatistikler (Toplam Düğüm, Toplam Bağlantı, Küme Sayısı) anlık olarak güncellenir.
Önemli: İlişki Haritası; çerez ve parmak izi verileri üzerinden çalışır. Sadece IP eşleşmeleri bu haritada gösterilmez. Haritanın dolması için eklentinin bir süre aktif olarak çalışması ve kullanıcıların forumda gezinmesi gerekir.
İstatistik Paneli (Statistics Dashboard)
Admin Panel → Kullanıcılar → Multi-Account Detector → İstatistikler yolundan detaylı bir istatistik panosuna erişirsiniz.
Bu panelde şunları görebilirsiniz:
- Toplam Tespit Sayısı: Sistemin toplam yakaladığı eşleşme sayısı.
- Onay Bekleyen İlişkiler: Eşik değerinin yarısını geçmiş ama tam eşiği aşmamış olan tespitler.
- Onaylanmış İlişkiler: Eşik değerini aşan kesinleşmiş tespitler.
- Yüksek Risk Kullanıcıları: Eşik üstü puana sahip kullanıcı sayısı.
- Orta Risk Kullanıcıları: Eşiğin %50'si ile eşik arasında kalan kullanıcılar.
- Toplam Parmak İzi Eşleşmeleri: Fingerprint bazlı tespit sayısı.
Ayrıca zaman bazlı grafik (günlük, haftalık veya aylık) ile tespit trendlerini ve ortalama risk puanlarını görsel olarak takip edebilirsiniz. Tarih aralığını ve gruplama türünü özelleştirebilirsiniz.
Beyaz Liste / Kara Liste Kural Yönetimi
Admin Panel → Kullanıcılar → Multi-Account Detector → Kurallar bölümünden güçlü bir kural motoru kullanabilirsiniz.
Beyaz Liste (Whitelist) Kuralları
Güvendiğiniz kullanıcıları veya cihazları taramadan muaf tutmak için beyaz liste kuralı oluşturabilirsiniz. Beyaz listeye eklenen bir kullanıcı veya cihaz için:
- Moderasyon kuyruğundaysa otomatik olarak onaylanır.
- Yasaklıysa otomatik olarak yasağı kaldırılır.
- Kısıtlanmış kullanıcı grubundaysa o gruptan çıkarılır.
Kara Liste (Blacklist) Kuralları
Belirli bir IP, parmak izi, çerez veya kullanıcıyı kalıcı olarak yasaklamak istiyorsanız kara liste kuralı oluşturabilirsiniz. Kural eklendiği anda, bu kuralla eşleşen mevcut tüm kullanıcılar otomatik olarak yasaklanır.
Her iki kural türü de dört farklı eşleşme tipini destekler:
- IP Adresi: Belirli bir IP adresini hedefler. Geçersiz IP girilmesini engeller.
- Parmak İzi: Belirli bir fingerprint hash'ini hedefler.
- Çerez: Belirli bir cihaz token'ını hedefler.
- Kullanıcı: Belirli bir kullanıcıyı (ID veya kullanıcı adı ile) hedefler.
Her kurala bir sebep (reason) yazabilirsiniz. Aynı değer için çakışan (karşıt) bir kural eklenirse, eski kural otomatik olarak silinir ve yeni kural geçerli olur.
Log detay sayfasından da doğrudan "Bu IP'yi Beyaz Listeye Ekle" veya "Bu Kullanıcıyı Kara Listeye Ekle" gibi kısayollarla hızlıca kural oluşturabilirsiniz.
Derin Tarama Motoru (Deep Scan)
Eklentiyi yeni kurduğunuzda, mevcut kullanıcılarınız için geriye dönük tarama yapmak isteyebilirsiniz.
"Start Deep Scan" (Derin Tarama Başlat) butonu tam olarak bunu yapar.
Bu buton,
Multi-Account Logs sayfasının sağ üst köşesinde bulunur. Tıkladığınızda XenForo'nun Job Queue (İş Kuyruğu) sistemi devreye girer ve forumunuzdaki
tüm kullanıcıları tek tek tarar. Her kullanıcı için:
- En son kullandığı IP adresi XenForo'nun IP kayıtlarından çekilir.
- MAD'ın cihaz log tablosundan (xf_xentr_mad_device_log) o kullanıcıya ait en son çerez ve parmak izi verileri alınır.
- Bu üç veri (IP, çerez, parmak izi) tespit motoruna (Analyzer Engine) gönderilir ve çapraz sorgu yapılır.
- Eşleşme bulunursa, normal tespit akışı (puanlama → aksiyon → raporlama) otomatik olarak çalışır.
Tarama sırasında sayfada bir ilerleme çubuğu gösterilir ve tarama tamamlandığında otomatik olarak log sayfasına yönlendirilirsiniz.
Ayrıca eklenti, arka planda her 30 dakikada bir çalışan bir
zamanlı tarama (Cron Scanner) da içerir. Bu sayede yeni bağlanan veya daha önce gözden kaçan kullanıcılar da düzenli olarak kontrol edilir.
Detaylı Log Paneli
Admin Panel → Kullanıcılar → Multi-Account Detector → Multi-Account Logs sayfası, tüm tespit kayıtlarınızın merkezidir.
Bu listede her bir tespit için şu bilgiler gösterilir:
- Kullanıcı: Tespit edilen kullanıcının adı (tıklanabilir profil linki).
- Risk Skoru: Renk kodlu etiket (Kırmızı: 70+, Turuncu: 40-69, Yeşil: 0-39).
- Eşleşme Türleri: Hangi yöntemlerle eşleşme bulunduğu (Device Token, IP Address, Fingerprint).
- Tarih: Tespitin yapıldığı tarih.
- View (Görüntüle): Detaylı log sayfasına gider. IP adresi, User Agent, eşleşen kullanıcılar gibi tüm detayları gösterir.
- Delete (Sil): Logu sistemden kaldırır.
Liste sayfalanır ve sayfa başı kayıt sayısı ayarlanabilir (10-100 arası, varsayılan 20). Ayar:
"Logs Per Page".
SV Signup Abuse Blocking'den Veri Aktarımı (Import)
Daha önce
SV Signup Abuse Blocking eklentisini kullanıyorduysanız, geçmiş tespit verilerinizi MAD'a aktarabilirsiniz. Bunun için XenForo'nun yerleşik İçe Aktarıcı (Importer) sistemi kullanılır.
Adım Adım Aktarım İşlemi:
- MAD eklentisini kurun ve etkinleştirin.
- Admin Panel → Araçlar (Tools) → İçe Aktarıcılar (Importers) sayfasına gidin.
- Listede "SV Signup Abuse Blocking (beta)" seçeneğini göreceksiniz. Bunu seçin.
- İşlem başladığında, SV eklentisinin
xf_sv_multiple_account_event ve xf_sv_multiple_account_log tablolarından veriler okunur.
- Her bir SV olayı (event) MAD'ın
xf_xentr_mad_report_log tablosuna; ilişkili kullanıcılar ise xf_xentr_mad_report_user tablosuna aktarılır.
- SV'nin kayıt tarihlerini (detection_date) olduğu gibi korur, yani geçmiş verilerin tarih bilgisi bozulmaz.
- İçe aktarma işlemi sırada ilerlerken; çerez, IP ve eşleşme yöntemi verileri otomatik olarak ayrıştırılır.
- İşlem tamamlandığında bir özet rapor gösterilir.
Çok Önemli Not: İçe aktarmadan önce,
"Detection Logs Retention (Days)" ayarını
0 (Sıfır) yapmanız şiddetle önerilir. Bu ayar 0 olduğunda eski loglar hiçbir zaman silinmez. Aksi takdirde, gece 03:00'da çalışan otomatik temizleme görevi (Cron Job), import edilen eski tarihli kayıtları "süresi dolmuş" olarak silecektir.
Ayar yolu:
Admin Panel → Seçenekler → Multi-Account Detector → "Detection Logs Retention (Days)" → 0 yapın.
Zamanlanmış Görevler (Cron Jobs)
MAD, arka planda iki adet zamanlanmış görev çalıştırır:
- Log Temizleme (Log Pruning): Her gün saat 03:00'da çalışır. "Detection Logs Retention (Days)" ayarında belirtilen günden eski logları otomatik olarak siler. Bu değer 0 ise hiçbir şey silmez (Sınırsız saklama).
- Otomatik Tarayıcı (Scanner): Her 30 dakikada bir çalışır. Tüm kullanıcıları XenForo Job Queue üzerinden taramak için arka planda bir iş başlatır.
Beyaz Liste Kullanıcıları (Whitelisted Users)
Belirli kullanıcıları tamamen tarama dışı bırakmak istiyorsanız, seçenekler sayfasındaki
"Whitelisted Users" alanına kullanıcı adlarını yazmanız yeterlidir. Bu listedeki kullanıcılar kayıt, giriş veya derin tarama sırasında hiçbir zaman analiz edilmezler.
Temiz Kaldırma (Uninstall)
MAD'ı kaldırdığınızda, eklentinin oluşturduğu tüm veritabanı tabloları (
xf_xentr_mad_report_log,
xf_xentr_mad_report_user,
xf_xentr_mad_device_log,
xf_xentr_mad_rule) otomatik olarak silinir. XenForo çekirdeğinde hiçbir kalıntı bırakılmaz.
Ayrıca bir kullanıcı silindiğinde, o kullanıcıya ait tüm MAD kayıtları (report log, device log, kurallar) otomatik olarak temizlenir.
Orphan data (öksüz veri) bırakma riski yoktur.
Kısıtlanmış Kullanıcı Grubu (Restricted User Group)
İsterseniz tespit edilen kullanıcıları ban yerine özel bir "Kısıtlanmış" kullanıcı grubuna atayabilirsiniz.
"Restricted User Group" seçeneğinden istediğiniz herhangi bir XenForo kullanıcı grubunu seçebilirsiniz. Beyaz listeye eklenen kullanıcılar bu gruptan otomatik olarak çıkarılır.
XenTR.Net güvencesiyle geliştirilmiştir.
Güvenlik her şeydir, ama doğru takip her şeyi değiştirir.
[XTR] Multi-Account Detector (MAD)
Your Forum's Shield: Next-Generation Multiple Account Detection & Management System
What Is It and What Does It Do?
Multi-Account Detector (MAD) is a professional-grade multiple account detection and management add-on built from the ground up for XenForo 2.3.x. It tackles one of the biggest challenges forum administrators face — duplicate account abuse — by analyzing users across three distinct layers, going far beyond simple IP matching, and taking automated actions.
MAD's core philosophy is simple:
Relying on a single method is never enough. Users can use VPNs, change IPs, or clear cookies. That's why MAD uses three complementary detection technologies simultaneously, closing every gap and making manipulation virtually impossible.
Triple Detection Mechanism
1. IP Address History Analysis
The system doesn't only check the user's current IP address. Using XenForo's core IP records, it cross-queries
all historical IP movements within the time frame you specify (default 90 days, adjustable between 7 and 365 days). It can match users even when they use dynamic IPs or connect from different networks.
This setting is found at:
Admin Panel → Options → Multi-Account Detector → "IP Scan History Depth (Days)". The default is 90 days. You can adjust this value based on your forum's size and performance requirements.
2. Advanced Browser Fingerprinting
This is the add-on's most powerful weapon. It creates a unique "Digital Identity" by combining hardware and software information collected from the user's device. The following data is collected:
- Hardware Core: CPU core count, device memory, platform info, touch points, browser vendor, language, and language list.
- WebGL Data: GPU vendor and model, WebGL version, shading language version (GLSL), maximum texture size, and supported extensions.
- Canvas Fingerprint: The way a browser renders to HTML5 Canvas differs on every device. The system creates a specific drawing and generates a hash from its pixel data.
- Audio Fingerprint: Using the OfflineAudioContext API, a unique signature is derived from the device's audio processing engine output. This is particularly effective at distinguishing devices even within the same browser family.
- Installed Font Scan: The list of installed fonts varies on every computer. MAD scans 15 different fonts and includes the results in the fingerprint.
- Screen Information: Screen resolution, available area, color depth, pixel ratio, and screen orientation.
- Browser Capabilities: Presence of features like localStorage, WebSocket, Worker, ServiceWorker, and Notification API.
- Plugin List: List of browser plugins installed.
Dual-Layer Fingerprint Architecture:
MAD separates all collected data into two layers:
- Hardware Core Hash: Composed of cross-browser stable data like CPU, GPU, screen, and timezone. Even if a user switches from Chrome to Firefox, this hash remains similar.
- Full Fingerprint Hash: The complete identity enriched with browser-specific data like Canvas, audio, fonts, and plugins.
These two hashes are combined with an "_" separator to form a 32-character fingerprint (e.g.,
a1b2c3d4e5f6g7h_i8j9k0l1m2n3o4p5). When searching for matches, the system checks the
Core Hash first — catching users even when they switch browsers — then verifies exact matches with the full hash.
This feature is enabled by default. To disable it:
Admin Panel → Options → Multi-Account Detector → "Enable Fingerprint Detection".
GDPR / Privacy Compliance Notice:
The Fingerprint feature processes browser and hardware characteristics (screen resolution, GPU model, installed fonts, etc.) through a one-way cryptographic hash function (FNV-1a), converting them into an anonymous 32-character digest. It is technically impossible to reverse-engineer the original data from the hash stored in your database. The system does not collect or store any names, email addresses, locations, or any other directly identifiable personal information. All collected data is processed solely for the purpose of ensuring forum security, under the legal basis of legitimate interest (GDPR Article 6(1)(f)). Nevertheless, depending on the country in which your forum operates and your target audience, we strongly recommend informing your users about the use of device fingerprinting in your Privacy Policy and consulting with your legal advisor where necessary. You may disable the fingerprint detection feature at any time from the setting mentioned above.
3. Persistent Cookie Tracking (Device Token)
MAD assigns each user's browser a cryptographically secure, 32-character unique device ID (Device Token). This ID is stored in both
localStorage and
Cookie. When a user logs out and registers a new account, this stored token is automatically read and matched against previous accounts.
The token is backed up via both XenForo's Cookie API and plain browser cookies. If the user deletes one, the other kicks in. The token's lifetime is 1 year (31,536,000 seconds).
Smart Risk Scoring System
Not every match carries the same level of risk. Perhaps two friends are sharing the same home internet connection. That's why MAD assigns different points to each match type and calculates a total
Risk Score (0-100+).
Default score weights:
- IP Address Match: 30 points
- Cookie Match: 60 points
- Fingerprint Match: 80 points
These points are cumulative. For example, if a user matches on both IP and cookie: 30 + 60 =
90 points. If all three match: 30 + 60 + 80 =
170 points (displayed as 100+).
Detection Threshold: Default is 50 points. Users exceeding this value trigger automatic actions. Change this at:
Admin Panel → Options → Multi-Account Detector → "Detection Threshold".
All score weights are customizable from the same options page:
- "IP Match Score"
- "Cookie Match Score"
- "Fingerprint Match Score"
Automatic Action System
MAD can automatically apply two different actions to users exceeding the threshold:
Action 1: Send to Moderation Queue (Moderate)
This is the default. Detected users are automatically set to "Moderated" status and placed in XenForo's Approval Queue. The detection is also logged in XenForo's built-in Spam Trigger Log, so administrators can see it in the Spam Cleaner tool as well.
Action 2: Automatic Ban
For a more aggressive approach, detected users are permanently banned. The ban reason includes a detailed explanation: "Automatically banned by MAD, matching users: [usernames]".
This setting:
Admin Panel → Options → Multi-Account Detector → "Detection Action" — choose "Moderate" or "Ban".
Safety Guards: Administrators (is_admin) and moderators (is_moderator) are never subjected to automatic actions. The bot account designated as "Reporting User" is also automatically exempt.
VPN / Proxy / Tor Detection & Blocking
MAD doesn't just detect multi-accounts; it can also detect VPN, Proxy, or Tor usage during registration and take automatic action.
Supported API providers:
- Proxycheck.io — API key optional, works on free plan.
- VPNAPI.io — API key required.
- IPHub.info — API key required.
Settings:
Admin Panel → Options → Multi-Account Detector → "Proxy/VPN API Provider" and
"Proxy/VPN API Key".
Three actions available when VPN/Proxy is detected:
- Log (Record Only): No intervention; only logs to the spam trigger log.
- Moderate: User is placed in moderated state.
- Reject: Registration is completely blocked with an error message.
Note: Local development IPs (127.0.0.1, ::1, 192.168.x.x, 10.x.x.x) are automatically exempt.
Notification & Reporting System
On every detection event, MAD notifies your administrators through multiple channels:
1. Admin Alert
All administrator accounts (is_admin = 1) receive an instant alert via XenForo's built-in notification system. The alert includes the risk score and a direct link to the related log entry.
2. Automatic Report Thread
A detailed report thread is automatically created in a forum you specify. It includes:
- Detected username and ID
- Risk score
- IP address used
- Match types (IP, Cookie, Fingerprint)
- Matched account usernames
- Action taken (Moderate or Ban)
- System recommendation (varies by risk level)
Configure the reporting bot user via
"Reporting User" and the target forum via
"Report Forum". We recommend setting this forum to a private, admin-only section.
Relation Map
MAD's most visually impressive feature. Access it via
Admin Panel → Users → Multi-Account Detector → Relation Map.
This screen visualizes all detected user connections on an interactive network graph. Each user is displayed as a node; connections are shown as links between them.
- Blue nodes: Active members
- Orange nodes: Moderated members
- Solid lines: Fingerprint matches
- Dashed lines: Cookie matches
You can zoom in/out with the "+" and "-" buttons, click any node to see detailed information (registration date, last activity, connected user list). The right-panel statistics (Total Nodes, Total Connections, Clusters) update in real-time.
Important: The Relation Map works on cookie and fingerprint data. IP-only matches are not shown here. The map populates over time as users browse with the add-on active.
Statistics Dashboard
Access a comprehensive statistics panel at
Admin Panel → Users → Multi-Account Detector → Statistics.
The dashboard displays:
- Total Detections: Total number of matches caught.
- Pending Relations: Detections above 50% of threshold but below the threshold.
- Confirmed Relations: Detections above the threshold.
- High Risk Users: Users with scores above the threshold.
- Medium Risk Users: Users between 50% and 100% of the threshold.
- Total Fingerprint Matches: Fingerprint-based detection count.
Time-based charts (daily, weekly, or monthly) allow you to track detection trends and average risk scores visually. Date range and grouping type are fully customizable.
Whitelist / Blacklist Rule Management
Navigate to
Admin Panel → Users → Multi-Account Detector → Rules for a powerful rule engine.
Whitelist Rules
Create whitelist rules to exempt trusted users or devices from scanning. When a user/device is whitelisted:
- If in moderation queue, they are automatically approved.
- If banned, the ban is automatically lifted.
- If in the restricted user group, they are removed from it.
Blacklist Rules
Create blacklist rules to permanently ban a specific IP, fingerprint, cookie, or user. The moment a rule is added, all existing users matching it are automatically banned.
Both rule types support four match types:
- IP Address: Targets a specific IP. Invalid IPs are rejected.
- Fingerprint: Targets a specific fingerprint hash.
- Cookie: Targets a specific device token.
- User: Targets a specific user (by ID or username).
You can write a reason for each rule. If a conflicting rule exists for the same value, the old rule is automatically deleted. You can also create rules directly from log detail pages via quick-action shortcuts.
Deep Scan Engine
When you first install the add-on, you may want to run a retrospective scan on your existing users. The
"Start Deep Scan" button does exactly that.
Located at the top-right corner of the
Multi-Account Logs page, clicking it triggers XenForo's Job Queue system to scan
every user on your forum. For each user:
- Their most recent IP address is retrieved from XenForo's IP records.
- Their latest cookie and fingerprint data is retrieved from MAD's device log table.
- All three data points are sent to the detection engine for cross-referencing.
- If a match is found, the standard flow (scoring → action → reporting) runs automatically.
A progress bar is displayed during the scan, and you're redirected to the log page upon completion.
The add-on also includes a
scheduled scanner (Cron) that runs every 30 minutes, ensuring newly connected or previously missed users are regularly checked.
Detailed Log Panel
Admin Panel → Users → Multi-Account Detector → Multi-Account Logs is the central hub for all detection records.
Each entry shows:
- User: Detected username (clickable profile link).
- Risk Score: Color-coded label (Red: 70+, Orange: 40-69, Green: 0-39).
- Match Types: Which methods matched (Device Token, IP Address, Fingerprint).
- Date: When the detection occurred.
- View: Opens the detailed log page with IP address, User Agent, and all matched users.
- Delete: Removes the log from the system.
The list is paginated with configurable items per page (10-100, default 20). Setting:
"Logs Per Page".
Data Migration from SV Signup Abuse Blocking
If you previously used
SV Signup Abuse Blocking, you can migrate your historical detection data to MAD using XenForo's built-in Importer system.
Step-by-Step Migration:
- Install and activate the MAD add-on.
- Navigate to Admin Panel → Tools → Importers.
- Select "SV Signup Abuse Blocking (beta)" from the list.
- Start the import. The system reads data from SV's
xf_sv_multiple_account_event and xf_sv_multiple_account_log tables.
- Each SV event is transferred to MAD's
xf_xentr_mad_report_log table; related users go to xf_xentr_mad_report_user.
- Original detection dates are preserved — your historical data timeline remains intact.
- Cookie, IP, and matching method data is automatically parsed during import.
- A summary report is displayed upon completion.
Critical Note: Before importing, set
"Detection Logs Retention (Days)" to
0 (Zero). When set to 0, old logs are never deleted. Otherwise, the nightly cleanup task (runs at 03:00) will delete imported records with old dates as "expired."
Setting:
Admin Panel → Options → Multi-Account Detector → "Detection Logs Retention (Days)" → set to 0.
Scheduled Tasks (Cron Jobs)
MAD runs two scheduled tasks in the background:
- Log Pruning: Runs daily at 03:00. Deletes logs older than the "Detection Logs Retention (Days)" value. If set to 0, nothing is deleted (unlimited retention).
- Automatic Scanner: Runs every 30 minutes. Queues a background job to scan all users via XenForo's Job Queue.
Whitelisted Users
To completely exclude specific users from all scanning, enter their usernames in the
"Whitelisted Users" field on the options page. Users in this list are never analyzed during registration, login, or deep scans.
Clean Uninstallation
When you uninstall MAD, all database tables created by the add-on (
xf_xentr_mad_report_log,
xf_xentr_mad_report_user,
xf_xentr_mad_device_log,
xf_xentr_mad_rule) are automatically dropped. No remnants are left in the XenForo core.
Additionally, when a user is deleted, all their MAD records (report logs, device logs, rules) are automatically cleaned up.
There is zero risk of orphan data.
Restricted User Group
Instead of banning, you can assign detected users to a special "Restricted" user group. Select any XenForo user group via the
"Restricted User Group" option. Users added to the whitelist are automatically removed from this group.
Developed with
by XenTR.Net
Security is everything, but proper tracking changes everything.