Captcha Değişiklik Geçmişi
Sürüm: 1.5.0 - Yayınlanma Tarihi: 2026-05-22
- Yeni: Sert durdurmalı rate limiter — captcha korumalı tüm sayfalardaki (wp-login / register / lost-password / comments, WooCommerce my-account / checkout / pay-for-order, Ultimate Multisite checkout / inline-login) her GET ve POST isteğini sayar ve HTTP 429, bir
Retry-Afterbaşlığı ve rastgele bir tarpit beklemesi (1–5 saniye, maksimum 15 saniye) ile yanıt verir. - Yeni: Tarpit penceresini ayarlamak için
cap_rate_limit_tarpit_min/cap_rate_limit_tarpit_maxayarları. - Yeni: Güvenilir IP aralıklarını hariç tutmak için
wu_cap_rate_limit_whitelist_ipfiltresi. - Yeni: Sert durdurma yanıtı gönderilmeden hemen önce tetiklenen
wu_cap_rate_limit_will_blockeylemi. - Yeni: Sahteciliğe karşı dayanıklı client-IP algılama.
Captcha_Core::get_client_ip()(rate-limit kovaları için tek doğru kaynak, captcha siteverifyremoteipve istatistik IP hash'leri) artık katı bir güven modelini zorunlu kılıyor: REMOTE_ADDR temel seviyeyi oluşturur,CF-Connecting-IPyalnızca anlık eş (peer) mevcut bir Cloudflare IP aralığındaysa dikkate alınır veX-Forwarded-Foryalnızca anlık eş yönetici tarafından yapılandırılmış güvenilir proxy listesindeyse dikkate alınır. Bu süreç, güvenilir/CF atlamalarını atlayarak ziyaretçi IP'sine ulaşmak için sağdan sola doğru bir tarama yapar. - Yeni:
cap_trust_cloudflare_headersayarı (varsayılan olarak KAPALI) — Cloudflare arkasında ikenCF-Connecting-IPgüvenliğine geçiş yapmanızı sağlar. Eklenti, Cloudflare CIDR anlık görüntüsünü paketlenmiş olarak içerir ve bu görüntü başarısız olursa, yedekleme ile birlikte her hafta wp-cron üzerinden yeniler. - Yeni:
cap_trusted_proxiesayarı — kendi ön cephe proxy'lerinizi / yük dengeleyicilerinizi listeleyen CIDR veya ham IP'ler (her biri bir satırda,#yorumları izin verilir) içeren bir textarea. Bu ayar olmadan, rate limiter etkinleştirilmiş olsa bileX-Forwarded-Foryok sayılır. - Yeni: Olası Cloudflare / proxy durumunun ilk etkinleştirilmede otomatik algılanması ve tek tıkla "Algılanan ayarları uygula" yönetici bildirimi. Eklenti, kaydettiğiniz değerleri asla geçersiz kılmaz; eğer sonraki trafik yapılandırmanızın artık gerçeklikle eşleşmediğini gösterirse (örneğin Cloudflare CIDR aralıklarını değiştirdiyse ve proxy CIDR'ınız artık güncel değilse), önerilen güncellemeyi gösteren, kapatılamayan bir uyarı belirir.
- Düzeltildi: Görünmez mod artık
cap_security_level'ı sessizce FAST'a düşürmüyor — yönetici tarafından yapılandırılan seviye korunuyor. Özel mantık isteyen siteler için yeni birwu_cap_server_security_levelfiltresi mevcut. - Düzeltildi: İstatistik
rate_limits_triggeredsayacı artık sadece nadir başarı sonrası geri çekilme yolunda değil, her engellemede artıyor. - Düzeltildi:
Captcha_Core::get_client_ip()artık rate limiter, captcha sağlayıcıları (reCAPTCHA + hCaptchasiteverify) ve istatistikler genelinde ziyaretçi IP'si ataması için tek doğru kaynaktır — doğrudan origin-server istekleri ile sahteCF-Connecting-IPbaşlığı taşıyan ve gerçek eş yerine sahte IP tarafından kovalanacak bir sahtecilik vektörünü kapatır. - Düzeltildi: WooCommerce klasik checkout rate-limit kapısı artık
woocommerce_before_checkout_formyerinetemplate_redirect(öncelik 1) üzerinde tetikleniyor. Form seviyesindeki hook, sepet boş olduğunda asla tetiklenmediği için, ürün eklemeyen sel trafiği limitleyiciden tamamen kaçırıyordu. - Düzeltildi: WooCommerce pay-for-order rate-limit kapısı artık
woocommerce_before_pay_actionyerinetemplate_redirectüzerinde tetikleniyor. İkincisi yalnızcawp_verify_nonce('woocommerce-pay')başarılı olduktan sonra tetikleniyor, bu da yetkisiz saldırganların (asıl tehdit modeli) asla limitleyiciyi tetiklemediği anlamına geliyordu. - Düzeltildi: WooCommerce Store API (bloklar) checkout rate-limit kapısı artık
woocommerce_store_api_checkout_update_order_from_requestyerinerest_pre_dispatchüzerinde tetikleniyor. İkincisi yalnızca Store API sepeti ve fatura alanlarını doğruladıktan sonra tetikleniyor, bu yüzden yetkisiz botlar doğrulayıcıdan 400 alıyor ve asla limitleyiciyi tetiklemiyordu. - Düzeltildi: Ultimate Multisite inline-login rate-limit kapısı artık
wu_before_inline_loginyerinewu_ajax_nopriv_wu_inline_loginöncelik 1 üzerinde tetikleniyor (ve giriş yapmış yansıması). İkincisi yalnızcacheck_ajax_referer('wu_checkout')başarılı olduktan sonra tetikleniyordu, bu yüzden geçerli bir wu_checkout nonce'u olmayan yetkisiz botlar 403 alıyor ve asla limitleyiciyi tetiklemiyordu. - Düzeltildi:
Rate_Limiter::enforce()artıksurface|ipanahtarı ile isteğe bir kez koruma uyguluyor, böylece render başına iki kez tetiklenen yukarı akış hook'ları (özellikle Ultimate Multisite'tawu_setup_checkout) etkili rate-limit eşiğini yarıya düşürmüyor. - Düzeltildi: Rate-limit yüzey kapıları artık
Captcha_Core::is_whitelisted()(wu_captcha_whitelistedfiltresi) kontrol etmiyor. Bu filtre "captcha başka bir yüzey tarafından zaten ele alındı" sinyali verir ve sel korumasından bağımsızdır — WooCommerce entegrasyonu, bir Woo nonce'u mevcut olduğunda WordPress giriş captcha'sını atlamak için bunu kullanıyordu, bu da rate sayımına sızıyor ve Woo POST'larının limitleyiciden kaçmasına izin veriyordu. Artık tek geçerli atlama, rate-limit'e özelwu_cap_rate_limit_whitelist_ipfiltresidir.
Sürüm: 1.3.2 - Yayınlanma Tarihi: 2026-01-27
- Düzeltildi: Elementor veya diğer sayfa oluşturucular kullanan checkout formlarında Cap widget'ı render olmuyordu.
- Düzeltildi: cap-widget özel elemanı wp_kses() sanitizasyonu tarafından kaldırılıyordu.
- Geliştirildi: HTML filtrelemesini atlamak için checkout captcha alanı için çağrılabilir içerik kullanıldı.
- Geliştirildi: Kenar durumlar için geri dönüşlü JavaScript basitleştirildi.
Sürüm: 1.3.1 - Yayınlanma Tarihi: 2026-01-26
- Düzeltildi: Cap Captcha görünmez modu, dinamik Ultimate Multisite checkout formlarında otomatik çözülmüyordu.
- Geliştirildi: Cap checkout betiği artık dinamik olarak yüklenen widget'ları algılamak için MutationObserver kullanıyor.
- Geliştirildi: Gönderimden önce token beklemek için checkout düğmesi kesintisi eklendi.
Sürüm: 1.3.0 - Yayınlanma Tarihi: 2026-01-27
- Yeni: Store API çekme kesintisi ile WooCommerce Blocks checkout entegrasyonu.
- Yeni: WooCommerce checkout için görünmez captcha desteği (hCaptcha görünmez, reCAPTCHA v2 görünmez, v3).
- Yeni: Ultimate Multisite olmadan kullanılabilmesi için bağımsız ayarlar sayfası.
- Yeni: Bağımlılık çakışmalarını önlemek için Jetpack Autoloader.
- Düzeltildi: hCaptcha, dinamik Ultimate Multisite checkout'ta (AJAX ile yüklenen içerik) render olmuyordu.
- Düzeltildi: Form doğrulama hataları oluştuğunda Captcha yenilenmiyor/sıfırlanmıyordu.
- Düzeltildi: hCaptcha, WooCommerce checkout sayfasında görünmüyordu.
- Düzeltildi: reCAPTCHA sınıfı bulunamadı hatası (google/recaptcha PHP kütüphanesi eklendi).
- Geliştirildi: WordPress hook'ları, MutationObserver ve AJAX kesintisi yoluyla hata algılama.
- Geliştirildi: Ayarlar açıklamalarına API anahtarları için dashboard URL'leri eklendi.
Sürüm: 1.2.2 - Yayınlanma Tarihi: 2026-01-24
- Düzeltildi: Captcha, Ultimate Multisite Login Form Element'ında görüntülenmiyordu (form filtresi adı eşleşmemesi).
- Düzeltildi: Cap widget HTML'i wp_kses() sanitizasyonu tarafından kaldırılıyordu.
- Düzeltildi: JavaScript seçicileri, element ID'lerinde eğik çizgi bulunan formları bulamıyordu.
- Eklendi: classaddons'un izin verilen HTML etiketlerini genişletmesi için
wu_kses_allowed_htmlfiltre hook'u. - Kaldırıldı: Ölü kod JavaScript dosyaları, sağlayıcıya özel betiklerle değiştirildi.
Sürüm: 1.2.1 - Yayınlanma Tarihi: 2026-01-23
- Düzeltildi: Çok siteli ortamlarda Cap Captcha token doğrulama başarısız oluyordu (artık ağ genelindeki geçici verileri kullanıyor).
- Düzeltildi: Captcha, giriş durumundan bağımsız olarak tüm kullanıcılar için tutarlı bir şekilde render oluyor.
- Düzeltildi: Checkout başarısızlıklarına neden olan captcha render etme ve doğrulama arasındaki uyumsuzluk.
Sürüm: 1.2.0 - Yayınlanma Tarihi: 2026-01-21
- Yeni: Cap Captcha - self-hosted proof-of-work captcha, etkinleştirildiğinde varsayılan olarak açık.
- Yeni: Sıfır yapılandırma koruması - eklentiyi etkinleştirin ve hemen korunmaya başlayın.
- Yeni: Kolay genişletilebilirlik için polimorfik captcha sağlayıcı mimarisi.
- Yeni: Kart test saldırılarına karşı WooCommerce Store API checkout koruması.
- Yeni: Zorluklar, doğrulama ve engellenen saldırıları gösteren istatistik izleme panosu.
- Yeni: Cap Captcha zorluk seviyesi ön ayarları (Hızlı, Orta, Maks).
- Yeni: reCAPTCHA ve hCaptcha sağlayıcıları için soyut temel sınıflar.
- Geliştirildi: Kod tabanı, modüler sağlayıcı sınıflarına yeniden düzenlendi.
- Geliştirildi: Özel bir yönetici sınıfı ile daha iyi sorumluluk ayrımı.
- Düzeltildi: $_SERVER değişkeni sanitizasyonu için güvenlik iyileştirmeleri.
- Düzeltildi: WordPress adlandırma kuralları için PHPUnit test yapılandırması.
Sürüm: 1.0.1 - Yayınlanma Tarihi: 2025-09-28
- Ön eki ultimate-multisite olarak yeniden adlandırıldı; metin alanı güncellendi; sürüm artırıldı.