የCaptcha የለውጥ መዝገብ
Version: 1.5.0 - በ2026-05-22 የወጣ
- አዲስ: ጠንካራ የፍጥነት ገደብ አጥጋቢ (Hard-stop rate limiter) — በcaptcha የተጠበቁ ገጾች (wp-login / register / lost-password / comments, WooCommerce my-account / checkout / pay-for-order, Ultimate Multisite checkout / inline-login) ላይ የሚደረጉ እያንዳንዱ GET እና POST ጥያቄዎችን ይቆጥራል፤ HTTP 429፣
Retry-Afterheader እና በዘፈቀደ የሚቀየረ የትራፒት እንቅልፍ (1–5 ሰከንዶች፣ ቢበልጥም 15 ሰከንዶች) በመልስ መልስ ይሰጣል። - አዲስ: የትራፒት ጊዜን (tarpit window) ለማስተካከል
cap_rate_limit_tarpit_min/cap_rate_limit_tarpit_maxቅንብሮች። - አዲስ: እምነት የሚጣልባቸው የ IP ክልል ስብስቦችን (trusted IP ranges) ለማስቀረት
wu_cap_rate_limit_whitelist_ipfilter። - አዲስ: ጠንካራ የፍጥነት ገደብ ምላሽ ከመላኩ በፊት ወዲያውኑ የሚሰራ
wu_cap_rate_limit_will_blockaction። - አዲስ: ስፖፍን መቋቋም የሚችል የclient-IP መለየት።
Captcha_Core::get_client_ip()(የrate-limit bucket ቁልፎች፣ captcha siteverifyremoteipእና ስታትስቲክስ IP hashes ምንጭ) አሁን ጥብቅ የትምህርት ሞዴልን ያስገድዳል፦REMOTE_ADDRመሠረቱ ነው፣CF-Connecting-IPየሚከበረው ወዲያውኑ ባልደረባ በወቅታዊ Cloudflare IP ክልል ውስጥ ሲሆን፣ እናX-Forwarded-Forየሚከበበው ወዲያውኑ ባልደረባ በአ ስተዳሚው በተዘጋጀው እምነት የሚጣልበት-proxy ዝርዝር ውስጥ ሲሆን፣ ይህም እምነት የሚጣልባቸው/CF ሆፖችን ትቶ ወደ ተጎብኙ IP እስኪደርስ ድረስ ቀኝ ወደ ግራ በሚሄድ መንገድ ይሰራል። - አዲስ:
cap_trust_cloudflare_headersቅንብር (በመነሻው OFF) — Cloudflare ከኋላ ሲሆኑCF-Connecting-IPእምነትን ለማንቃት አማራጭ ያደርጋል። ፕለግኢኑ የተሰበሰበ Cloudflare CIDR ስንጥቅ (snapshot) ይይዛል እና የwp-cron በሳምንት አንድ ጊዜ በማደስ፣ ማደስ ካልተሳካ በfallback አማራጭ ይሰራል። - አዲስ:
cap_trusted_proxiesቅንብር — የራስዎን የፊት መስመር ፕሮክሲዎች / load-balancers የሚያዘረብ CIDRs ወይም ባዶ IPዎች (እያንዳንዱ በአንድ መስመር፣#አስተያየቶች ይፈቀዳሉ) የያዘ የጽሑፍ ሳጥን (textarea)። ይህ ባይኖርም፣ rate limiter ቢበራ እንኳንX-Forwarded-Forችላ ይባላል። - አዲስ: ሊከሰት የሚችል Cloudflare / proxy ሁኔታን በቅጽበት የሚያገኝ የመጀመሪያ ደረጃ አውቶ-ማወቅ (auto-detection) እና በአንድ ጠቅታ "Apply detected settings" የሚል የአስተዳሚ ማሳሰቢያ። ፕለግኢኑ የተቀመጡትን እሴቶች በፍጹም አይተካም። ተከታይ ትራፊክ የእርስዎ ውቅር ከእውነታው ጋር አለመመሳሰሉን የሚያመለክት ከሆነ (ለምሳሌ Cloudflare CIDR ክልል ሲቀይር እና የፕሮክሲ CIDRዎ አሁን ያለፈ ከሆነ)፣ ሊቀበል የማይችል ልዩነት ማሳሰቢያ የሚመጣውን ዝመና ይጠቁማል።
- ተስተካክሏል: የማይታይ ሁነታ (Invisible mode) ከ እንግዲህ
cap_security_levelን በዝምታ ወደ FAST አያወርድም — የአስተዳሚው የተቀመጠው ደረጃ ይከበራል። ለተለያዩ የሥራ ማስኬጃዎች (sites) የራሳቸውን አመክንዮ (bespoke logic) የሚፈልጉበት አዲስwu_cap_server_security_levelfilter ይገኛል። - ተስተካክሏል: ስታትስቲክስ
rate_limits_triggered카운ተር አሁን በየመዘጋት ጊዜ ይጨምራል፣ አልፎ አልፎ ከስኬት በኋላ በሚሚገኝ የኋላ መከላከያ መንገድ ላይ ብቻ አይደለም። - ተስተካክሏል:
Captcha_Core::get_client_ip()አሁን በrate limiter፣ በcaptcha አቅራቢዎች (reCAPTCHA + hCaptchasiteverify) እና ስታትስቲክስ ላይ ተጎብኙን IP ለመለየት ብቸኛው እውነት ምንጭ ሆኗል — ቀጥተኛ የኦሪጅን-ሰርቨር ጥያቄዎች የተጭበረበረCF-Connecting-IPheader ይዘው ቢመጡም፣ በስፖፍ IP ላይ ሳይሆን በእውነተኛ ባልደረባ ላይ እንዲመዘገቡ በማድረግ የማጭበርበር አቅጣጫን ዘጋ። - ተስተካክሏል: የWooCommerce classic checkout rate-limit gate አሁን ከ
woocommerce_before_checkout_formይልቅ በtemplate_redirect(priority 1) ላይ ይሰራል። የform-level hook ባዶ ጋሪ ሲኖር በፍጹም አይሰራም፣ ስለዚህ ምርት የማይጨምር የጎርፍ ትራፊክ አጥጋቢውን ሙሉ በሙሉ አልፎ ነበር። - ተስተካክሏል: የWooCommerce pay-for-order rate-limit gate አሁን ከ
woocommerce_before_pay_actionይልቅ በtemplate_redirectላይ ይሰራል። ሁለተኛው ደግሞwp_verify_nonce('woocommerce-pay')ስኬታማ ከሆነ በኋላ ብቻ ስለሚሰራ፣ ያልተፈቀደ ተጠቃሚዎች (የእውነተኛ ስጋት ሞዴል) አጥጋቢውን ፈጽሞ አልነኩም። - ተስተካክሏል: የWooCommerce Store API (blocks) checkout rate-limit gate አሁን ከ
woocommerce_store_api_checkout_update_order_from_requestይልቅ በrest_pre_dispatchላይ ይሰራል። ሁለተኛው ደግሞ Store API ጋሪውን እና የሂሳብ ክፍያ መስኮቶችን ካረጋገጠ በኋላ ብቻ ስለሚሰራ፣ ያልተፈቀደ ቦቶች ከvalidator 400 ተቀብለው አጥጋቢውን ፈጽመው አልሄዱም። - ተስተካክሏል: የUltimate Multisite inline-login rate-limit gate አሁን ከ
wu_before_inline_loginይልቅ በwu_ajax_nopriv_wu_inline_loginpriority 1 (እና በተመዝጋቢው መስተጋብር) ላይ ይሰራል። ሁለተኛው ደግሞcheck_ajax_referer('wu_checkout')ስኬታማ ከሆነ በኋላ ብቻ ስለሚሰራ፣ ትክክለኛ wu_checkout nonce የሌላቸው ያልተፈቀደ ቦቶች 403 ተቀብለው አጥጋቢውን ፈጽመው አልሄዱም። - ተስተካክሏል:
Rate_Limiter::enforce()አሁን በsurface|ipቁልፍ የሚሰራ አንድ ጊዜ በየጥያቄው መከላከያ (guard) ይተገብራል፣ ስለዚህ ከሁለት ጊዜ በየrender የሚሰሩ የupstream hooks (በተለይ Ultimate Multisite ውስጥ ያለውwu_setup_checkout) የብቃት የrate-limit ገደብን በግማሽ አያደርጉም። - ተስተካክሏል: የrate-limit surface gates ከእንግዲህ
Captcha_Core::is_whitelisted()(wu_captcha_whitelistedfilter) ጋር አይመከሩም። ያ filter "captcha በሌላ surface ቀድሞ ተይዟል" ማለት ሲሆን ከጎርፍ መከላከል ጋር የተያያዘ አይ ደለም — የWooCommerce ውህደቱ በWoo nonce ሲኖር የWordPress login captchaን ለማለፍ አገናኝ አድርጎ ነበር፣ ይህም በrate counting ውስጥ ዘልቆ አልፎ Woo POSTs አጥጋቢውን እንዲያልፉ አድርጓል። አሁን ብቸኛው የሚያልፍ የrate-limit-specificwu_cap_rate_limit_whitelist_ipfilter ብቻ ነው።
Version: 1.3.2 - በ2026-01-27 የወጣ
- ተስተካክሏል: Elementor ወይም ሌላ የገጽ አሰሪ (page builders) በሚጠቀሙበት ጊዜ በcheckout forms ላይ Cap widget አይታይም።
- ተስተካክሏል: cap-widget custom element በwp_kses() sanitization ይወገዳል።
- ተሻሽሏል: የcheckout captcha field የHTML ማጣሪያን ለማለፍ callable content ጥቅም ላይ ውሏል።
- ተሻሽሏል: ለድንበሮች (edge cases) የfallback ያለው JavaScript ቀለል ተደርጓል።
Version: 1.3.1 - በ2026-01-26 የወጣ
- ተስተካክሏል: Cap Captcha የማይታይ ሁነታ (invisible mode) በdynamic Ultimate Multisite checkout forms ላይ በራስ-ሰር አይፈታም።
- ተሻሽሏል: Cap checkout script አሁን በMutationObserver ተጠቅሞ በdynamic ሁኔታ በሚጫኑ widgets ይለያል።
- ተሻሽሏል: ከመላክ በፊት token ለመጠበቅ የcheckout ቁልፍ መቆጣጠሪያ (button interception) ተጨምሯል።
Version: 1.3.0 - በ2026-01-27 የወጣ
- አዲስ: የWooCommerce Blocks checkout integration በStore API fetch interception ተጨምሯል።
- አዲስ: ለWooCommerce checkout የማይታይ captcha ድጋፍ (hCaptcha invisible, reCAPTCHA v2 invisible, v3)።
- አዲስ: Ultimate Multisite ሳይጠቀሙ ለመጠቀም የራሱ ቅንብሮች ገጽ (standalone settings page)።
- አዲስ: የጥቅም ጥገኝነት ግጭት ለመከላከል Jetpack Autoloader።
- ተስተካክሏል: hCaptcha በdynamic Ultimate Multisite checkout (AJAX-loaded content) ላይ አይታይም።
- ተስተካክሏል: የform validation ስህተቶች ሲከሰቱ Captcha አያድስም/አይቀይርም።
- ተስተካክሏል: hCaptcha በWooCommerce checkout ገጽ ላይ አይታይም።
- ተስተካክሏል: reCAPTCHA class not found error (google/recaptcha PHP library ተጨምሯል)።
- ተሻሽሏል: በWordPress hooks፣ MutationObserver እና AJAX interception በኩል የስህተት መለየት።
- ተሻሽሏል: የቅንብሮች መግለጫዎች አሁን የAPI ቁልፎች የዳሽቦርድ URLዎችን ይይዛሉ።
Version: 1.2.2 - በ2026-01-24 የወጣ
- ተስተካክሏል: Captcha በUltimate Multisite Login Form Element ላይ አይታይም (form filter name mismatch)።
- ተስተካክሏል: Cap widget HTML በwp_kses() sanitization ይወገዳል።
- ተስተካክሏል: JavaScript selectors በelement IDs ውስጥ ስlashes (/) ባሉ form ላይ አይሰሩም።
- ተጨምሯል: የclassaddons ለሚፈቅዱ የHTML ታግስ ለማስፋት
wu_kses_allowed_htmlfilter hook። - ተወግዷል: የሞተ ኮድ JavaScript ፋይሎች በአቅራቢ-ተኮር ስክሪፕቶች ተተክተዋል።
Version: 1.2.1 - በ2026-01-23 የወጣ
- ተስተካክሏል: Cap Captcha token validation በmultisite environments ውስጥ መውደቅ (አሁን በnetwork-wide transients ይጠቀማል)።
- ተስተካክሏል: Captcha በlogin ሁኔታ ምንም ይሁን ምን ለሁሉም ተጠቃሚዎች ወጥ የሆነ አቀራረብ ይሰጣል።
- ተስተካክሏል: በcheckout ውድቀቶች ምክንያት የcaptcha አቀራረብ እና የvalidation መዛባት።
Version: 1.2.0 - በ2026-01-21 የወጣ
- አዲስ: Cap Captcha - በራስ-የተስተናገደ proof-of-work captcha፣ በactivation ጊዜ በነባሪነት ይበራል።
- አዲስ: ያለ-ቅንብር ጥበቃ (Zero-configuration protection) - add-on ን በማንቃት ወዲያውኑ ይጠበቃል።
- አዲስ: ለቀላል ማስፋፊያ (extensibility) የpolymorphic captcha አቅራቢ አርክቴክቸር።
- አዲስ: የWooCommerce Store API checkout በካርድ ሙከራ ጥቃቶች ላይ ጥበቃ።
- አዲስ: ፈተናዎችን፣ ማረጋገጫዎችን እና የተዘጋ ጥቃቶችን የሚያሳየ የስታቲስቲክስ መከታተያ ዳሽቦርድ።
- አዲስ: ለCap Captcha የደረጃ ቅንብሮች (Fast, Medium, Max)።
- አዲስ: ለreCAPTCHA እና hCaptcha አቅራቢዎች የባዶ መሠረተ ክፍሎች (Abstract base classes)።
- ተሻሽሏል: የኮድ መሠረተ ልማት (codebase) ወደ ሞዱላር አቅራቢ ክፍሎች ተደራጅቷል።
- ተሻሽሏል: በየተሰጠው አስተዳዳሪ ክፍል (dedicated manager class) ስጋት መለያየት የተሻሻለ።
- ተስተካክሏል: ለ
$_SERVERvariable sanitization የደህንነት ማሻሻያዎች። - ተስተካክሏል: ለWordPress naming conventions የPHPUnit test configuration።
Version: 1.0.1 - በ2025-09-28 የወጣ
- ቅድመ-ጽሑፍን ultimate-multisite አድርጎ መጥራት፤ የጽሑፍ ስፋት (text domain) ማዘመን፤ ስሪት መጨመር።