IP / Giriş / E-posta Filtresi

Bu modül, siteye erişimini engellemek istediğiniz ziyaretçileri ve üyeleri yönetir. Engel; bir IP adresine, bir giriş adına (üye kimliğine) veya bir e-posta adresine tanımlanabilir. Tüm kayıtlar tek bir tabloda tutulur ve engellenen ziyaretçi ön yüzde özel bir sayfayla karşılanır. Aşağıdaki bilgiler DLE 21.0 yönetim panelindeki modülün gerçek davranışını yansıtır.

KonuAyrıntı
İşleyen dosyaengine/inc/blockip.php
Adresadmin.php?mod=blockip
Yetki anahtarı$user_group[$member_id['user_group']]['admin_blockip']
Paneldeki adıŞuna göre filtre: IP, Giriş adı veya E-Mail
BaşlıkSitedeki engellemeleri yönetme
Veri tablosuUSERPREFIX_banned (kodda USERPREFIX . "_banned")
Ön yüz karşılığıÜye Engelleme — templates/banned.tpl, HTTP 503
Kapsam dışıKelime filtresi ayrı modüldür: admin.php?mod=wordfilter

Yetki ve erişim

Modül, yalnızca admin_blockip iznine sahip yönetici gruplarına açılır; izin üye grupları ekranından verilir. İzin verilmemiş bir grup adresi doğrudan yazsa bile modül ekranı gösterilmez.

Engelleme türleri

Modül üç farklı hedefi engelleyebilir. Hedefin türü, kaydın hangi alanda saklandığını belirler. Aynı tabloda hem IP engelleri hem üye engelleri yan yana bulunur.

Engelleme türüSaklandığı alanNe engellenir?
IP adresiipBelirtilen adresten siteye erişim reddedilir
Giriş adı (üye kimliği)users_idBelirtilen üye hedeflenir
E-postaİlgili üye kaydı üzerindenModülün adındaki üçüncü ölçüttür

Veritabanı kaydı

Engeller USERPREFIX_banned tablosunda tutulur. Genel önekli yapıda tablo adı dle_users_banned benzeri bir biçim alır. Alanlar şunlardır:

AlanAnlamı
idKaydın birincil anahtarı; listede ve silme bağlantısında kullanılır
users_idÜye engelinin hedef kimliği
descrEngelin gerekçesi (serbest metin)
dateEngelin başlangıç tarihi
daysEngelin kaç gün süreceği
ipIP engelinin hedef adresi
banned_fromEngeli veren yöneticinin adı; otomatik engelde boş kalır

Engel ekleme

Liste ekranında form doldurulup gönderilerek yeni engel eklenir. IP engeli için adres üzerinden ön dolgulu form da açılabilir; bu yol, IP Araçları modülündeki "IP'yi engelle" bağlantısının kullandığı yoldur.

  1. Modülü açın Yönetim panelinden admin.php?mod=blockip adresine gidin.
  2. Hedefi ve gerekçeyi girin IP, giriş adı veya e-posta hedefini, engelin gerekçesini ve süresini (days) belirtin.
  3. Süreyi bilinçli seçin Süre dolmadan engel kendiliğinden kalkmaz; süre bitse de kaydı elle silmek gerekir.

İşlemler ve action değerleri

Ekranlar ve işlemler adres parametresiyle ayrılır. Varsayılan (parametresiz) görünüm engel listesidir.

DurumNe yapar?
ParametresizEngel listesini gösterir
action=editSeçilen kaydı düzenleme formunda açar
action=deleteSeçilen engeli kaldırır
Form gönderimiYeni engel ekler veya düzenlenen kaydı kaydeder
admin.php?mod=blockip                               liste ekranı (varsayılan)
admin.php?mod=blockip&ip=ADRES                      form açılır, IP alanı dolu gelir
admin.php?mod=blockip&action=edit&id=N              kaydı düzenle
admin.php?mod=blockip&action=delete&id=N&user_hash=… engeli kaldır

Engellenen ziyaretçi ne görür?

Engellenen ziyaretçi, isteğine HTTP 503 yanıtı ile karşılanır ve templates/banned.tpl şablonu basılır. Bu dosya tema klasöründe değil, templates/ kökünde durur ve bütün temalar tarafından paylaşılır. Ayrıntı için Üye Engelleme sayfasına bakın.

Engel yalnızca sayfa görüntülemeyi değil, üye işlevlerini de kapatır. Engellenen bir kullanıcı /index.php?do=pm gibi özel mesaj sayfalarına da erişemez.

Güvenlik: user_hash

Durumu değiştiren her istek, gizli bir user_hash alanı taşır ve bu değer oturumdaki $dle_login_hash ile karşılaştırılır. Eşleşmezse istek reddedilir ve "Hacking attempt" hatası üretilir. Bu, engel ekleme/silme bağlantılarının başka bir siteden tetiklenmesini engeller.

ÖğeDeğer
İstek alanıuser_hash (gizli alan veya adres parametresi)
Karşılaştırılan değer$dle_login_hash
Eşleşmezseİstek reddedilir: "Hacking attempt"

İlgili ama ayrı modül: kelime filtresi

Bu sayfa kelime filtresi ile ilgili değildir. Küfür veya istenmeyen kelimelerin yazıdan çıkarılması ayrı bir modülde yapılır: admin.php?mod=wordfilter, yetki anahtarı admin_wordfilter. İki modülün benzer bir ada sahip olması karışıklığa yol açabilir; buradaki modül yalnızca erişim engeliyle ilgilenir.

ModülAdresYetkiİşi
Erişim engeli (bu sayfa)admin.php?mod=blockipadmin_blockipZiyaretçiyi/üyeyi engeller
Kelime filtresiadmin.php?mod=wordfilteradmin_wordfilterKelimeleri metinden çıkarır

Sık yapılan hatalar

HataSonuç
Sürenin (days) dolunca engelin kendiliğinden kalkacağını sanmakKayıt durur; elle silinmediği sürece listede kalır
Çok geniş bir aralık girip kendi IP'nizi engellemekPanele erişiminiz kesilebilir
Engellenen üyenin yalnızca ana sayfayı görmediğini düşünmekÖzel mesaj gibi sayfalar da kapalıdır
Engelli kaydını hiç silmemekListe şişer; otomatik temizlik yoktur
Bu modülü kelime filtresi sanmakYanlış modül; kelimeler mod=wordfilter ile yönetilir
Bağlantıyı elle kopyalayıp user_hash'i atlamakİstek "Hacking attempt" ile reddedilir

Kontrol listesi

  • Modüle erişmek için gereken admin_blockip izni doğru gruba verildi.
  • Engelin hedef türü (IP, giriş adı veya e-posta) ve saklandığı alan doğru seçildi.
  • descr ve days alanları anlamlı dolduruldu.
  • Süresi geçmiş kayıtları elle silmenin gerektiği biliniyor.
  • Kelime filtresinin ayrı modül olduğu (mod=wordfilter) karıştırılmıyor.