Aksiyonlar
Bir kural eşleştiğinde ne yapılacağını konsolun Aksiyonlar bölümünden seçersiniz; bu sayfadaki başlıklar konsoldaki kutularla birebir aynıdır. Birden fazla aksiyon birlikte seçilebilir; koruma aksiyonlarından ve parametre gerektirenlerden yalnızca birer tane. Örneklerdeki THEN {anahtar} gösterimi, aksiyonun teknik adıyla yazılmış temsilî özetdir.
Koruma
Bölüm başlığı “Koruma”Tek seçim — bir istek için tek koruma kararı verilir; seçimi tekrar tıklayarak bırakırsınız.
| Konsolda | Anahtar | Ne yapar |
|---|---|---|
| Engelle | block | İsteği engeller, engel sayfası gösterir (403) |
| CAPTCHA | captcha | CAPTCHA doğrulaması ister |
| JS Doğrulama | js | JavaScript challenge uygular — kullanıcı fark etmez |
| İzin Ver | allow | Önceki kuralların engelini kaldırır, sonraki kuralları atlar |
| Log (yalnızca izle) | log | Yalnızca Erişim Kayıtları’na yazar; hiçbir işlem yapılmaz |
IF ip.country in RU, CN, KPTHEN block
IF waf.bot_score ge 70THEN captcha
IF waf.client.ip_type == hostingTHEN js
IF ip.list in "office-ips"THEN allow
IF http.request.base_uri has_prefix /adminTHEN logKonsolda bu seçimlerle:
- Ülke engeli — Alan Ülke · Operatör listede · Değer
RU, CN, KP→ Aksiyon Engelle - Bot skoruna CAPTCHA — Alan Bot Skoru (0–100) · Operatör büyük eşittir · Değer
70→ Aksiyon CAPTCHA - Veri merkezine JS — Alan IP Altyapı Tipi · Operatör eşittir · Değer
hosting→ Aksiyon JS Doğrulama - Ofis listesine izin — Alan IP Listesi · Operatör listede · Değer
office-ips→ Aksiyon İzin Ver - Admin’i izle — Alan Path (sorgusuz) · Operatör ile başlar · Değer
/admin→ Aksiyon Log (yalnızca izle)
Bypass
Bölüm başlığı “Bypass”Çoklu seçim — eşleşen isteği aktif doğrulama ve limit katmanlarından muaf tutar. Güvenilir kaynaklara uygulayın.
| Konsolda | Anahtar | Ne atlar |
|---|---|---|
| CAPTCHA Muaf | bypasscaptcha | Aktif CAPTCHA modunu |
| JS Muaf | bypassjs | Aktif JS challenge’ı |
| Rate Limit Muaf | bypassratelimit | Domain geneli rate limit’i |
Güvenlik Katmanı Muafiyeti
Bölüm başlığı “Güvenlik Katmanı Muafiyeti”| Konsolda | Anahtar | Ne atlar |
|---|---|---|
| Deny Listesi Muaf | bypassdenylist | Tehdit İstihbaratı deny listesini |
| Yönetimli Kural Muaf | bypassmanagedrule | HEIMWALL Yönetilen kurallarını |
| OWASP Muaf | bypassowasp | OWASP imza taramasını |
# Ofis IP'leri CAPTCHA'dan muafIF ip.list in "office-ips"THEN bypasscaptcha
# Partner servisleri rate limit'ten muafIF ip.list in "trusted-partners"THEN bypassratelimit
# CMS admin paneli yönetilen kurallardan muafIF ip.list in "cms-admins"AND http.request.base_uri has_prefix /wp-adminTHEN bypassmanagedruleKonsolda bu seçimlerle:
- Ofis IP’leri CAPTCHA’dan muaf — Alan IP Listesi · Operatör listede · Değer
office-ips→ Aksiyon CAPTCHA Muaf - Partnerler rate limit’ten muaf — Alan IP Listesi · Operatör listede · Değer
trusted-partners→ Aksiyon Rate Limit Muaf - CMS admin’i yönetilen kurallardan muaf — Alan IP Listesi · Operatör listede · Değer
cms-adminsVE Alan Path (sorgusuz) · Operatör ile başlar · Değer/wp-admin→ Aksiyon Yönetimli Kural Muaf
Önbellek / İçerik Dönüşümü Muafiyeti
Bölüm başlığı “Önbellek / İçerik Dönüşümü Muafiyeti”Bu istekte ilgili hız optimizasyonunu kapatır. Koruma aksiyonlarıyla çelişmez, birlikte seçilebilir; yalnız kapatma yönü vardır — ilgili optimizasyon zaten kapalıysa etkisizdir.
| Konsolda | Anahtar | Ne yapar |
|---|---|---|
| Önbellek Baypası | bypasscache | Yanıt önbellekten sunulmaz ve önbelleğe yazılmaz — origin’den taze gelir |
| Küçültme Baypası | bypassminify | Otomatik küçültmeyi (auto-minify) kapatır — kırılgan JS/CSS bozulmasın diye |
| Görsel Opt. Baypası | bypassimageopt | Görsel optimizasyonunu kapatır — orijinal (kayıpsız) görsel sunulur |
# Gerçek zamanlı API her zaman origin'denIF http.request.base_uri has_prefix /api/liveTHEN bypasscacheKonsolda bu seçimlerle: Alan Path (sorgusuz) · Operatör ile başlar · Değer /api/live → Aksiyon Önbellek Baypası
Parametreli Aksiyonlar
Bölüm başlığı “Parametreli Aksiyonlar”Aynı kuralda yalnızca biri kullanılabilir; her biri konsolda ek alanlar açar.
| Konsolda | Anahtar | Parametreler |
|---|---|---|
| Yönlendir | redirect | Hedef URL + durum kodu (301/302/303/307/308); URL’de $request_uri gibi değişkenler kullanılabilir |
| Rate Limit | ratelimit | İstek sayısı (1–100000) + pencere (5–600 sn) + IPv6 öneki — token bucket |
| Backend Değiştir | backend | Konsolda tanımlı backend grubunun adı |
| Upstream Seç | origin | İsteği farklı upstream (origin) grubuna yönlendirir |
| İstek Header’ı | requestheader | Origin’e giden isteğe ad=değer başlığı ekler (değer ham yazılır, şablon yok) |
| Yanıt Header’ı | responseheader | Kullanıcıya dönen yanıta ad=değer başlığı ekler |
| Çerez Gönder | setcookie | name, value, path, max_age, httponly, secure, samesite |
| Çerez Sil | deletecookie | Silinecek çerezin adı |
# Login endpoint'ine rate limitIF http.request.base_uri == /loginTHEN ratelimit 10/60s
# Eski URL'yi yeniye yönlendirIF http.request.base_uri has_prefix /eskiTHEN redirect https://example.com/yeni
# Origin'in tanıyacağı işaret başlığı ekleIF http.request.base_uri has_prefix /apiTHEN requestheader X-Edge-Verified=1
# CORS başlığı ekleIF http.request.base_uri has_prefix /apiTHEN responseheader Access-Control-Allow-Origin=*Konsolda bu seçimlerle:
- Login’e rate limit — Alan Path (sorgusuz) · Operatör eşittir · Değer
/login→ Aksiyon Rate Limit (10 istek / 60 sn) - Eski URL’yi yönlendir — Alan Path (sorgusuz) · Operatör ile başlar · Değer
/eski→ Aksiyon Yönlendir (hedefhttps://example.com/yeni) - İşaret başlığı ekle — Alan Path (sorgusuz) · Operatör ile başlar · Değer
/api→ Aksiyon İstek Header’ı (X-Edge-Verified=1) - CORS başlığı ekle — Alan Path (sorgusuz) · Operatör ile başlar · Değer
/api→ Aksiyon Yanıt Header’ı (Access-Control-Allow-Origin=*)
Kaynak Bütçesi
Bölüm başlığı “Kaynak Bütçesi”Çoklu seçim — ağır endpoint’leri eşzamanlı yük ve yavaş origin baskısından korur.
| Konsolda | Anahtar | Parametre |
|---|---|---|
| Eşzamanlı İstek Sınırı | maxconcurrent | 0–100000; aşan istek doğrudan 503 alır (0 = sınırsız) |
| Origin Yanıt Süresi (bu kural için) | origintimeout | Saniye (1–600); origin zaman aşımını bu istek için kısaltır — domain tavanı aşılamaz |
# Rapor endpoint'ine eşzamanlı limitIF http.request.base_uri == /report/generateTHEN maxconcurrent 5
# Hızlı endpoint'te yavaş origin'i erken kesIF http.request.base_uri == /healthTHEN origintimeout 2Konsolda bu seçimlerle:
- Rapor endpoint’ine limit — Alan Path (sorgusuz) · Operatör eşittir · Değer
/report/generate→ Aksiyon Eşzamanlı İstek Sınırı (5) - Health’te origin’i erken kes — Alan Path (sorgusuz) · Operatör eşittir · Değer
/health→ Aksiyon Origin Yanıt Süresi (2 sn)
| Konsolda | Anahtar | Açıklama |
|---|---|---|
| Failban (IP Ban Sayacı) | failban | Eşleşen IP’nin ban sayacını artırır; eşik aşılınca IP banlanır. Yanıt fazında çalışır |
| Webhook Tetikle | webhook | Eşleşmede webhook çağrısı yapar |
| Bu kuraldan sonra işlemeyi durdur | stop | Eşleşirse listede kalan kurallar değerlendirilmez; başka bir aksiyonla birlikte kullanılır |
# Origin 401 döndürünce failban sayacını artırIF http.response.status == 401THEN failban
# Güvenilir IP'yi geçir ve kural zincirini durdurIF ip.list in "trusted-ips"THEN allow stopKonsolda bu seçimlerle:
- 401’leri say — Alan Origin Yanıt Kodu · Operatör eşittir · Değer
401→ Aksiyon Failban (IP Ban Sayacı) (konsol bu alanda aksiyonu otomatik kilitler) - Geçir ve durdur — Alan IP Listesi · Operatör listede · Değer
trusted-ips→ Aksiyon İzin Ver + Bu kuraldan sonra işlemeyi durdur