Yönetim: admin.php?mod=shield_pro. Grup 1. Sürüm XML’de 3.2.0, DLE 21. Bootstrap içindeki sürüm sabiti hâlâ 3.1.2 yazıyor, paneli şaşırtmasın.

ZIP’teki xml’i yükle, aktif et. Menü: DLE-Shield-Pro. Görünmezse kapat-aç, eklenti önbelleğini temizle. İkon yoksa kurulum 70×70 üretir (public/adminpanel/images/shield-pro.png).

Pasifte menü kaydı kalkar, tablolar durur. Eklentiyi silersen ayar, log, blok, beyaz liste, dosya hash tabloları da gider. Saklamak istiyorsan silmeden önce XML’deki silme kancasını boşalt.

?controller=antibot eklentiye girmeden DLE’de biter — captcha kırılmasın diye.

Nereye takılıyor?

Ön yüz bootstrap index.php içinde init’ten önce. DLE 21’de ana şablon Gzip ile bitiyor; init’ten sonraya koyarsan kod ölür (3.1.1 böyleydi).

Ön yüz tarama, giriş doğrulandıktan sonra init.php içinde. $member_id hazır, grup 1 muafiyeti gerçek.

Panel: engine/inc/include/init.php. İstek sınırı ve IP listesi giriş die()’inden önce — eski admin.php kancası login sayfasını hiç korumuyordu. Panel taraması üye oturumu kurulduktan sonra, bağlam admin: grup 1 tamamen geçer (şablon / sorgu düzenlemek meşru). admin_bypass kapalıyken grup 1 ön yüzde taranır; açıkken ön yüz de muaf. Panel her durumda grup 1 muaf.

Cron (cron.php, cron=1): dosya taraması (aralık dolmuşsa), log temizliği, geçici e-posta listesi (haftada bir), otomatik IP engeli.

AJAX: index.php?controller=ajax&mod=shield_pro, grup 1 + user_hash. Controller whitelist’e eklenmiş.

Ön yüz POST formlarına gizli shield_website ve JS çerezi dle_shield_js gömülür (main.php, </body> öncesi).

Tablolar

Prefix’li yedi tablo: ayarlar (modül + pipe ayar metni + açık/kapalı), olay logu, giriş logu, IP–üye, engel, beyaz liste, dosya hash. Ayarlar kurulumda doldurulur; güncelleme eksik anahtar ekler (proxy varsayılan kapalı, autoblock kapalı, içerik kalkanı, kayıt sonrası işlem).

Nonce: hardcoded sır yok, SECURE_AUTH_KEY.

IP: trust_proxy ve ek CIDR; Cloudflare arkasında DLE’nin kendi IP’si yanlışsa bunu aç.

Panel sekmeleri

Navbar, ShieldTab, çoğu div gizli — syshealth ile aynı fikir. tab= harf/alt çizgi, yoksa dashboard.

  1. Panel — 24s olay, engellenen bot, çoklu üye IP, aktif IP engeli; 7 günlük kutu; son 10 olay; “Otomatik Engeli Tara”
  2. Bot Koruması — giriş honeypot / zaman / JS
  3. Kayıt Kalkanı — geçici e-posta listesi indir, kayıt olayları
  4. Üye Havuzu & Klonlar — parçalı geri tarama, hayalet sil, sayaç onar, CSV (max 20.000), aynı IP, silme talebi, hızlı profil
  5. IP Analizi
  6. WAF log
  7. Admin Guard log
  8. Spam ve İçerik log
  9. Dosya bütünlüğü — tarama, kabul, tümünü kabul
  10. Tüm loglar — IP / tarih süzgeci
  11. Ayarlar — her modül switch + alanlar, CSRF, “bu IP’yi beyaz listeye al”

Bot / giriş

Honeypot doluysa bot. Zaman tuzağı: nonce yok + çerez de yok = DLE başarısız girişte tüm çerezleri siliyor, “sayfayı yenile”, brute sayacına yazılmaz (soft). Çerez var imza bozuk = sahte, sert. 2 saniyeden hızlı veya 24 saatten eski yine. JS çerezi yoksa (nonce varken) yine yumuşak yenile. Hak: varsayılan 5 hata / 60 dk; brute_force satırları sayılmaz yoksa her deneme süreyi uzatır.

WAF

GET+POST düzleştirilir, yüzde kodu çözülüp ikinci kez bakılır. Parola alanları atlanır. Serbest metin (yorum, haber gövdesi, xfields…) sıkı kalıba takılır, gevşek kalıba takılmaz — yoksa kendi makalen WAF loguna düşer. id / do / cat gibi alanlarda gevşek de var.

Sıkı taraf: sorgu birleştirme, tablo düşürme/değiştirme ifadesi, uyku/benchmark, şema adı, dosyaya yazma. Gevşek: klasik enjeksiyon cümleleri, ***ik protokolü, gömülü çerçeve, üst dizin, sarmalayıcı protokol. UA: bilinen tarayıcılar + bad_ua_extra (virgül, # ve parantez yok). Metot: GET POST HEAD dışı 403. Cevap: “Guvenlik kurali ihlali…” + tip. Logda payload kısaltılır (300 karakter), önem 3.

Haber yazarken XML’deki kurulum SQL’sini, birleştirme cümlelerini, ***ik etiketini gövdeye yapıştırma — bu sitenin kalkanı tam da ona bakıyor.

Admin Guard

Beyaz liste anahtarı açık ve listede en az bir IP varsa listedekiler dışında panel 403. Liste boşsa kilitlenmez — önce “bu IP’yi ekle”, sonra anahtarı aç. 15 dk / 5 hatalı admin giriş → 429. Log saklama günü (30): eski satırlar parça parça silinir, süresi bitmiş engeller kalkar. Panel açılışında 1/5 ihtimal temizlik.

Otomatik engel kapalı gelir. Açınca önem 3 WAF kayıtları (varsayılan 24s / 5 isa***) IP’yi shield_blocks’a yazar. Dashboard düğmesi aynı tarama.

Spam, içerik, risk

Yorum: honeypot, http(s) link sayısı (3), kelime listesi. Risk motoru eşiği 40: üstü DLE onay kuyruğu, grup 1 ve beyaz liste muaf.

İçerik kalkanı (3.2): ön yüz haber ekleme + panel ekle/düzenle. CJK oranı (30, 0=kapalı — CJK dilinde kapat), haber link (5), kelime, muaf grup (varsayılan 1). Grup 1 ve muaf atlanır.

Kayıt

Honeypot, zaman (min 5 sn), geçici e-posta (indirdiğin cache + ek alan adları), IP başına 3 / 24s, StopForumSpam kapalı (açınca zaman aşımında kayıt geçer), proxy başlığı kapalı (VIA vs.; HTTP_FORWARDED sayılmaz).

Kayıt sonrası: kapalı / karantina / yasak. Eşik 60. Karantina grubu 0 ise DLE’nin kayıt grubu — etkisiz; yetkisiz grup id ver. Yasak DLE ban tablosuna yazılır, banned/usergroup önbelleği silinir.

Liste: Kayıt Kalkanı sekmesi “Listeyi İndir” → engine/cache/system/shield_disposable.cache. Cron haftada bir, düğme TTL’yi atlar.

Dosya bütünlüğü

Yollar engine/, templates/; uzantı php,tpl,phtml. cache ve data taranmaz (eski kayıtlar da düşer). Symlink kök dışına çıkmaz. İlk tarama baseline, alarm yok. Sonra yeni / değişti / silindi. Hash aynıysa sen “kabul” deyene kadar durum durur. Marker: engine/cache/system/shield_integrity.last — her satırı her seferinde güncellemez. Cron aralık 86400 sn.

Üye havuzu

Sayfa açılışında tam tarama yok. AJAX parça: 500 üye / 1000 yorum. Hayalet: 180 gündür yok, 0 haber 0 yorum. CSV hash’li. Aynı IP min 2. Silme talebi onay/red (PM). Hızlı profil: id, ad, e-posta, şifre, imza.

IP tracker girişte yazar; küme min_users.

Dikkat

Yalnız beyaz listeyi doldurmadan açma. admin_bypass ön yüz yönetici gezintisini taramanın dışına atar. Serbest metin listesine kendi xfield adını eklemezsen haber kaydı 403 olabilir. Bot kalıbı yorum/kayıt formunu 2–5 sn bekletmeden göndereni keser. Eklenti silince log da gider.

Dosya İndirme Kilitli