Changelog za Captcha
Verzija: 1.5.0 - Obraćeno 2026-05-22
- Novo: Hard-stop ograničilac brzine — broji svaki GET i POST zahtjev na površinama zaštićenim Captchom (wp-login / register / lost-password / comments, WooCommerce my-account / checkout / pay-for-order, Ultimate Multisite checkout / inline-login) i odgovara HTTP 429,
Retry-Afterzaglavljem i randomizovanim "tarpit" spavanjem (1–5s, maksimalno 15s). - Novo: Podešavanja
cap_rate_limit_tarpit_min/cap_rate_limit_tarpit_maxza podešavanje prozora za tarpit. - Novo: Filter
wu_cap_rate_limit_whitelist_ipza izuzimanje pouzdanih IP raspona. - Novo: Akcija
wu_cap_rate_limit_will_blockkoja se aktivira odmah prije slanja hard-stop odgovora. - Novo: Detekcija IP adrese klijenta otporna na lažiranje (spoofing).
Captcha_Core::get_client_ip()(jedini pouzdan izvor za ključeve baceta ograničenja brzine, captcha siteverifyremoteipi statističke IP hash-eve) sada nameće strogi model povjerenja:REMOTE_ADDRje podloga,CF-Connecting-IPse poštuje samo kada je neposredni peer unutar trenutnog Cloudflare IP raspona, aX-Forwarded-Forse poštuje samo kada je neposredni peer u listi pouzdanih proxy-ja koje je administrator konfigurisao, s desno-lijevo prohodom koji preskače pouzdane/CF skokove prije nego što se utvrdi IP adresa posjetitelja. - Novo: Podešavanje
cap_trust_cloudflare_headers(podrazumevano ISKLJUČENO) — opcija za povjerenje uCF-Connecting-IPkada ste iza Cloudflare-a. Plugin dolazi s pakovanim Cloudflare CIDR snimkom i osvježava ga sedmično putem wp-cron s pakovnim fallback-om ako osvježavanje ne uspije. - Novo: Podešavanje
cap_trusted_proxies— tekstualni okvir za CIDR-ove ili sirove IP adrese (jedna po redu, dozvoljeni su#komentari) koji navode vaše front-line proxyje / load-balancere. Bez ovoga,X-Forwarded-Forse ignorira čak i kada je ograničilac brzine omogućen. - Novo: Prvo omogućavanje automatske detekcije vjerojatnog Cloudflare / proxy statusa s obaviješću za administratora "Primijeni otkrivene postavke" jednim klikom. Plugin nikada ne nadjačava vaše spremljene vrijednosti; ako kasniji promet sugerira da vaše konfiguracije više ne odgovaraju stvarnosti (npr. Cloudflare je promijenio CIDR rasponove, a vaš proxy CIDR je sada zastario), pojavljuje se obavijest o neusklađenosti koja nije moguće ignorisati i koja predlaže potrebna ažuriranja.
- Popravljeno: Invisible mode više ne smanjuje
cap_security_levelu tišini na FAST — nivo koji je administrator konfigurisao poštuje se. Dostupan je novi filterwu_cap_server_security_levelza stranice koje žele prilagođenu logiku. - Popravljeno: Brojač statistike
rate_limits_triggeredsada se inkrementira pri svakom blokiranju, a ne samo na rijetkom putu za zaustavljanje nakon uspjeha. - Popravljeno:
Captcha_Core::get_client_ip()je sada jedini pouzdan izvor za pripisivanje IP adrese posjetitelja kroz ograničilac brzine, captcha provajdere (reCAPTCHA + hCaptchasiteverify) i statistiku — zatvarajući vektor lažiranja gdje bi zahtjevi izravno s izvornog servera koji nose lažniCF-Connecting-IPzaglavlje bili baceni u bacet lažiranim IP adresom umjesto stvarnog peera. - Popravljeno: Rate-limit kapija za klasični WooCommerce checkout sada se aktivira na
template_redirect(prioritet 1) umjestowoocommerce_before_checkout_form. Hook na nivou forme nikada se ne aktivira kada je košarica prazna, pa je promet koji nikada ne dodaje proizvod zaobilazio ograničilac. - Popravljeno: Rate-limit kapija za WooCommerce pay-for-order sada se aktivira na
template_redirectumjestowoocommerce_before_pay_action. Posljednji se aktivira tek nakon štowp_verify_nonce('woocommerce-pay')uspije, što znači da napadači bez prijave (stvarniji model prijetnje) nikada nisu aktivirali ograničilac. - Popravljeno: Rate-limit kapija za WooCommerce Store API (blocks) checkout sada se aktivira na
rest_pre_dispatchumjestowoocommerce_store_api_checkout_update_order_from_request. Posljednji se aktivira tek nakon što Store API validira polja za košaricu i naplatu, pa su neautentizovani botovi dobili 400 od validatora i nikada nisu pokrenuli ograničilac. - Popravljeno: Rate-limit kapija za Ultimate Multisite inline-login sada se aktivira na
wu_ajax_nopriv_wu_inline_loginprioritet 1 (i na logiranom ogledalu) umjestowu_before_inline_login. Posljednji se aktivira tek nakon štocheck_ajax_referer('wu_checkout')uspije, pa su neautentizovani botovi bez validnog wu_checkout nonca dobili 403 i nikada nisu pokrenuli ograničilac. - Popravljeno:
Rate_Limiter::enforce()sada primjenjuje zaštitu "jednom po zahtjevu" ključanu posurface|ip, tako da upstream hookovi koji se aktiviraju dvaput po renderovanju (primjericewu_setup_checkoutu Ultimate Multisite) više ne smanjuju efektivni prag ograničenja brzine. - Popravljeno: Kapije ograničenja brzine više ne konzultiraju
Captcha_Core::is_whitelisted()(wu_captcha_whitelistedfilter). Taj filter signalizira "captcha je već obrađen na drugoj površini" i ortogonalan je za zaštitu od poplava — WooCommerce integracija ga je koristila da preskoči WordPress login captcha kada je bio prisutan Woo nonce, što je utjecalo na brojanje ograničenja brzine i omogućilo je Woo POST zahtjevima da zaobiđu ograničilac. Jedini bypass koji sada vrijedi je specifični za ograničenje brzine filterwu_cap_rate_limit_whitelist_ip.
Verzija: 1.3.2 - Obraćeno 2026-01-27
- Popravljeno: Widget Captcha ne renderuje se na checkout formama koje koriste Elementor ili druge page buildere.
- Popravljeno: Custom element za widget Captcha je bio uklonjen (stripping) putem sanitizacije
wp_kses(). - Poboljšano: Korištenje pozivnog sadržaja (callable content) za captcha polje na checkoutu kako bi se zaobišla HTML filtracija.
- Poboljšano: Pojednostavljen JavaScript s fallback-om za rubne slučajeve.
Verzija: 1.3.1 - Obraćeno 2026-01-26
- Popravljeno: Invisible mode Captcha ne rješava automatski na dinamičnim Ultimate Multisite checkout formama.
- Poboljšano: Captcha checkout skripta sada koristi MutationObserver za detekciju dinamički učitanih widgeta.
- Poboljšano: Dodata interceptacija gumba za checkout kako bi se čekalo na token prije slanja.
Verzija: 1.3.0 - Obraćeno 2026-01-27
- Novo: Integracija WooCommerce Blocks checkout s interceptacijom Store API fetch-a.
- Novo: Invisible captcha podrška za WooCommerce checkout (hCaptcha invisible, reCAPTCHA v2 invisible, v3).
- Novo: Samostalna stranica za podešavanja za korištenje bez Ultimate Multisite-a.
- Novo: Jetpack Autoloader za sprečavanje konflikata zavisnosti.
- Popravljeno: hCaptcha ne renderuje se na dinamičnom Ultimate Multisite checkoutu (AJAX-učitani sadržaj).
- Popravljeno: Captcha se ne osvježava/resetira kada dođe do grešaka validacije forme.
- Popravljeno: hCaptcha nije prikazan na WooCommerce checkout stranici.
- Popravljeno: Greška "reCAPTCHA class not found" (dodata google/recaptcha PHP biblioteka).
- Poboljšano: Detekcija grešaka putem WordPress hookova, MutationObserver-a i AJAX interceptacije.
- Poboljšano: Opisi podešavanja sada uključuju URL-ove dashboarda za API ključeve.
Verzija: 1.2.2 - Obraćeno 2026-01-24
- Popravljeno: Captcha nije prikazan na Ultimate Multisite Login Form Elementu (neusklađenost imena filtera forme).
- Popravljeno: HTML widgeta Captcha je bio uklonjen (stripping) putem sanitizacije
wp_kses(). - Popravljeno: JavaScript selektori nisu pronašli forme s crtama u ID elementima.
- Dodano: Filter hook
wu_kses_allowed_htmlza classaddons kako bi se proširili dozvoljeni HTML tagovi. - Uklonjeno: JavaScript fajlovi mrtvog koda zamijenjeni specifičnim skriptama provajdera.
Verzija: 1.2.1 - Obraćeno 2026-01-23
- Popravljeno: Validacija Captcha tokena ne uspijeva u multisite okruženjima (sada koristi transijente na nivou mreže).
- Popravljeno: Captcha sada renderuje dosljedno za sve korisnike bez obzira na status prijave.
- Popravljeno: Neusklađenost između renderovanja i validacije Captcha koja je uzrokovala neuspjeh checkouta.
Verzija: 1.2.0 - Obraćeno 2026-01-21
- Novo: Cap Captcha - self-hosted proof-of-work captcha, omogućen podrazumjetno pri aktivaciji.
- Novo: Zaštita bez konfiguracije - aktivirajte addon i odmah ste zaštićeni.
- Novo: Polimorfna arhitektura provajdera Captcha za lako proširivanje.
- Novo: WooCommerce Store API checkout zaštita od napada testiranja karticama.
- Novo: Dashboard za praćenje statistike koji prikazuje izazove, verifikacije i blokirane napade.
- Novo: Preddefinirani nivoi sigurnosti (Fast, Medium, Max) za težinu Cap Captcha.
- Novo: Apstraktne bazne klase za reCAPTCHA i hCaptcha provajdere.
- Poboljšano: Preuređeni kod u modularne provajderske klase.
- Poboljšano: Bolje razdvajanje briga s posvećenom manager klasom.
- Popravljeno: Poboljšanja sigurnosti za sanitizaciju varijable $_SERVER.
- Popravljeno: PHPUnit konfiguracija testiranja za WordPress konvencije imenovanja.
Verzija: 1.0.1 - Obraćeno 2025-09-28
- Prefiks preimenovan na ultimate-multisite; ažuriran tekstualni domen; povećan broj verzije.