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.
| Konu | Ayrıntı |
|---|---|
| İşleyen dosya | engine/inc/blockip.php |
| Adres | admin.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ık | Sitedeki engellemeleri yönetme |
| Veri tablosu | USERPREFIX_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ığı alan | Ne engellenir? |
|---|---|---|
| IP adresi | ip | Belirtilen adresten siteye erişim reddedilir |
| Giriş adı (üye kimliği) | users_id | Belirtilen üye hedeflenir |
| E-posta | İlgili üye kaydı üzerinden | Modü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:
| Alan | Anlamı |
|---|---|
id | Kaydın birincil anahtarı; listede ve silme bağlantısında kullanılır |
users_id | Üye engelinin hedef kimliği |
descr | Engelin gerekçesi (serbest metin) |
date | Engelin başlangıç tarihi |
days | Engelin kaç gün süreceği |
ip | IP engelinin hedef adresi |
banned_from | Engeli 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.
-
Modülü açın
Yönetim panelinden
admin.php?mod=blockipadresine gidin. -
Hedefi ve gerekçeyi girin
IP, giriş adı veya e-posta hedefini, engelin gerekçesini ve süresini (
days) belirtin. - 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.
| Durum | Ne yapar? |
|---|---|
| Parametresiz | Engel listesini gösterir |
action=edit | Seçilen kaydı düzenleme formunda açar |
action=delete | Seçilen engeli kaldırır |
| Form gönderimi | Yeni 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.
| Öğe | Değ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ül | Adres | Yetki | İşi |
|---|---|---|---|
| Erişim engeli (bu sayfa) | admin.php?mod=blockip | admin_blockip | Ziyaretçiyi/üyeyi engeller |
| Kelime filtresi | admin.php?mod=wordfilter | admin_wordfilter | Kelimeleri metinden çıkarır |
Sık yapılan hatalar
| Hata | Sonuç |
|---|---|
Sürenin (days) dolunca engelin kendiliğinden kalkacağını sanmak | Kayıt durur; elle silinmediği sürece listede kalır |
| Çok geniş bir aralık girip kendi IP'nizi engellemek | Panele 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ç silmemek | Liste şişer; otomatik temizlik yoktur |
| Bu modülü kelime filtresi sanmak | Yanlış 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_blockipizni doğru gruba verildi. - Engelin hedef türü (IP, giriş adı veya e-posta) ve saklandığı alan doğru seçildi.
descrvedaysalanları 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.