ບັນທຶກການປ່ຽນແປງ Captcha
ເວີຊັນ: 1.5.0 - ປ່ອຍໃຊ້ໃນ 2026-05-22
- ໃໝ່: ຕົວຈຳກັດອັດຕາແບບຢຸດເດັດຂາດ — ນັບທຸກ GET ແລະ POST ໃນພື້ນທີ່ທີ່ປ້ອງກັນດ້ວຍ captcha (wp-login / register / lost-password / comments, WooCommerce my-account / checkout / pay-for-order, Ultimate Multisite checkout / inline-login) ແລະຕອບກັບດ້ວຍ HTTP 429,
Retry-Afterheader, ແລະການໜ່ວງ tarpit ແບບສຸ່ມ (1–5 ວິນາທີ, ຈຳກັດສູງສຸດເດັດຂາດທີ່ 15 ວິນາທີ). - ໃໝ່: ການຕັ້ງຄ່າ
cap_rate_limit_tarpit_min/cap_rate_limit_tarpit_maxເພື່ອປັບຊ່ວງເວລາ tarpit. - ໃໝ່: filter
wu_cap_rate_limit_whitelist_ipເພື່ອຍົກເວັ້ນຊ່ວງ IP ທີ່ໄວ້ວາງໃຈ. - ໃໝ່: action
wu_cap_rate_limit_will_blockທີ່ຈະເຮັດວຽກທັນທີກ່ອນສົ່ງຄຳຕອບແບບຢຸດເດັດຂ າດ. - ໃໝ່: ການກວດຈັບ client-IP ທີ່ຕ້ານການປອມແປງ.
Captcha_Core::get_client_ip()(ແຫຼ່ງຄວາມຈິງສຳລັບ rate-limit bucket keys, captcha siteverifyremoteip, ແລະ hash IP ຂອງສະຖິຕິ) ຕອນນີ້ບັງຄັບໃຊ້ແບບຈຳລອງຄວາມໄວ້ວາງໃຈທີ່ເຂັ້ມງວດ: REMOTE_ADDR ເປັນພື້ນຖານ,CF-Connecting-IPຈະຖືກເຄົາລົບສະເພາະເມື່ອ peer ທັນທີຢູ່ໃນຊ່ວງ IP Cloudflare ປັດຈຸບັນ, ແລະX-Forwarded-Forຈະຖືກເຄົາລົບສະເພາະເມື່ອ peer ທັນທີຢູ່ໃນລາຍຊື່ trusted-proxy ທີ່ admin ກຳນົດ, ພ້ອມການໄລ່ຈາກຂວາໄປຊ້າຍທີ່ຂ້າມ trusted/CF hops ກ່ອນຈະຕົກລົງເລືອກ IP ຂອງຜູ້ເຂົ້າຊົມ. - ໃໝ່: ການຕັ້ງຄ່າ
cap_trust_cloudflare_headers(ຄ່າເລີ່ມຕົ້ນ OFF) — ເລືອກເຂົ້າໃຊ້ຄວາມໄວ້ວາງໃຈCF-Connecting-IPເມື່ອຢູ່ຫຼັງ Cloudflare. plugin ມາພ້ອມ snapshot Cloudflare CIDR ທີ່ລວມມາ ແລະ refresh ມັນທຸກອາທິດຜ່ານ wp-cron ພ້ອມ fallback ທີ່ລວມມາຖ້າ refresh ລົ້ມເຫຼວ. - ໃໝ່: ການຕັ້ງຄ່າ
cap_trusted_proxies— textarea ຂອງ CIDR ຫຼື IP ລ້ວນ (ໜຶ່ງລາຍການຕໍ່ແຖວ, ອະນຸຍາດຄຳເຫັນ#) ທີ່ລາຍຊື່ proxy / load-balancer ແນວໜ້າຂອງທ່ານເອງ. ຖ້າບໍ່ມີສິ່ງນີ້,X-Forwarded-Forຈະຖືກເມີນເສຍແມ່ນແຕ່ເມື່ອເປີດໃຊ້ຕົວຈຳກັດອັດຕາແລ້ວ. - ໃໝ່: ການກວດຈັບອັດຕະໂນມັດໃນຄັ້ງທຳອິດທີ່ເປີດໃຊ້ ສຳລັບສະພາບ Cloudflare / proxy ທີ່ເປັນໄປໄດ້ ພ້ອມແຈ້ງເຕືອນ admin "ນຳໃຊ້ການຕັ້ງຄ່າທີ່ກວດພົບ" ແບບຄລິກດຽວ. plugin ບໍ່ເຄີຍຂຽນທັບຄ່າທີ່ທ່ານບັນທຶກໄວ້; ຖ້າ traffic ຕໍ່ມາຊີ້ວ່າ config ຂອງທ່ານບໍ່ກົງກັບຄວາມຈິງອີກຕໍ່ໄປ (ເຊັ່ນ Cloudflare ປ່ຽນຊ່ວງ CIDR ແລະ proxy CIDR ຂອງທ່ານຕອນນີ້ເກົ່າແລ້ວ), ແຈ້ງເຕືອນຄວາມບໍ່ກົງກັນທີ່ປິດບໍ່ໄດ້ຈະສະແດງການອັບເດດທີ່ແນະນຳ.
- ແກ້ໄຂ: ໂໝດ Invisible ບໍ່ downgrade
cap_security_levelເປັນ FAST ແບບງຽບໆອີກຕໍ່ໄປ — ລະດັບທີ່ admin ກຳນົດຖືກເຄົາລົບ. filter ໃໝ່wu_cap_server_security_levelມີໃຫ້ສຳລັບ site ທີ່ຕ້ອງການຕັກກະສະເພາະ. - ແກ້ໄຂ: ຕົວນັບສະຖິຕິ
rate_limits_triggeredຕອນນີ້ເພີ່ມຂຶ້ນໃນທຸກການບລັອກ, ບໍ່ແມ່ນສະເພາະໃນເສັ້ນທາງ backstop ຫຼັງສຳເລັດທີ່ພົບໄດ້ຍາກ. - ແກ້ໄຂ:
Captcha_Core::get_client_ip()ຕອນນີ້ເປັນແຫຼ່ ງຄວາມຈິງດຽວສຳລັບການລະບຸ IP ຜູ້ເຂົ້າຊົມທົ່ວຕົວຈຳກັດອັດຕາ, captcha providers (reCAPTCHA + hCaptchasiteverify), ແລະສະຖິຕິ — ປິດ vector ການປອມແປງທີ່ request ໄປຫາ origin-server ໂດຍກົງທີ່ພົກ headerCF-Connecting-IPປອມຈະຖືກ bucket ຕາມ IP ທີ່ປອມ ແທນທີ່ຈະເປັນ peer ຈິງ. - ແກ້ໄຂ: ປະຕູ rate-limit ຂອງ WooCommerce classic checkout ຕອນນີ້ເຮັດວຽກໃນ
template_redirect(priority 1) ແທນwoocommerce_before_checkout_form. hook ລະດັບ form ບໍ່ເຄີຍເຮັດວຽກເມື່ອກະຕ່າຫວ່າງ, ດັ່ງນັ້ນ flood traffic ທີ່ບໍ່ເຄີຍເພີ່ມ product ຈຶ່ງຂ້າມຕົວຈຳກັດໄດ້ທັງໝົດ. - ແກ້ໄຂ: ປະຕູ rate-limit ຂອງ WooCommerce pay-for-order ຕອນນີ້ເຮັດວຽກໃນ
template_redirectແທນwoocommerce_before_pay_action. ອັນຫຼັງເຮັດວຽກສະເພາະຫຼັງຈາກwp_verify_nonce('woocommerce-pay')ສຳເລັດ, ຊຶ່ງໝາຍຄວາມວ່າ attacker ທີ່ບໍ່ໄດ້ auth (ແບບຈຳລອງໄພຄຸກຄາມຈິງ) ບໍ່ເຄີຍ trigger ຕົວຈຳກັດ. - ແກ້ໄຂ: ປະຕູ rate-limit ຂອງ WooCommerce Store API (blocks) checkout ຕອນນີ້ເຮັດວຽກໃນ
rest_pre_dispatchແທນwoocommerce_store_api_checkout_update_order_from_request. ອັນຫຼັງເຮັດວຽກສະເພາະຫຼັງຈາກ Store API ກວດຢືນຢັນກະ ຕ່າ ແລະ field ໃບບິນແລ້ວ, ດັ່ງນັ້ນ bot ທີ່ບໍ່ໄດ້ auth ໄດ້ 400 ຈາກ validator ແລະບໍ່ເຄີຍສະດຸດຕົວຈຳກັດ. - ແກ້ໄຂ: ປະຕູ rate-limit ຂອງ Ultimate Multisite inline-login ຕອນນີ້ເຮັດວຽກໃນ
wu_ajax_nopriv_wu_inline_loginpriority 1 (ແລະ mirror ຂອງຜູ້ທີ່ login ແລ້ວ) ແທນwu_before_inline_login. ອັນຫຼັງເຮັດວຽກສະເພາະຫຼັງຈາກcheck_ajax_referer('wu_checkout')ສຳເລັດ, ດັ່ງນັ້ນ bot ທີ່ບໍ່ໄດ້ auth ແລະບໍ່ມີ wu_checkout nonce ທີ່ຖືກຕ້ອງໄດ້ 403 ແລະບໍ່ເຄີຍສະດຸດຕົວຈຳກັດ. - ແກ້ໄຂ:
Rate_Limiter::enforce()ຕອນນີ້ນຳ guard ແບບໜຶ່ງຄັ້ງຕໍ່ request ທີ່ keyed ດ້ວຍsurface|ipມາໃຊ້, ດັ່ງນັ້ນ hook upstream ທີ່ເຮັດວຽກສອງຄັ້ງຕໍ່ການ render (ໂດຍສະເພາະwu_setup_checkoutໃນ Ultimate Multisite) ບໍ່ຫຼຸດເກນ rate-limit ທີ່ມີຜົນໃຫ້ເຫຼືອເຄິ່ງໜຶ່ງອີກຕໍ່ໄປ. - ແກ້ໄຂ: ປະຕູພື້ນທີ່ rate-limit ບໍ່ປຶກສາ
Captcha_Core::is_whitelisted()(wu_captcha_whitelistedfilter) ອີກຕໍ່ໄປ. filter ນັ້ນສົ່ງສັນຍານວ່າ "captcha ຖືກຈັດການໂດຍພື້ນທີ່ອື່ນແລ້ວ" ແລະເປັນຄົນລະເລື່ອງກັບການປ້ອງກັນ flood — ການຜະສານ WooCommerce ເຄີຍ hook ມັນເພື່ ອຂ້າມ WordPress login captcha ເມື່ອມີ Woo nonce ຢູ່, ຊຶ່ງໄຫຼເຂົ້າການນັບອັດຕາ ແລະປ່ອຍໃຫ້ Woo POSTs ຫຼີກຕົວຈຳກັດໄດ້. filter ສະເພາະ rate-limitwu_cap_rate_limit_whitelist_ipເປັນ bypass ດຽວທີ່ນຳໃຊ້ໃນຕອນນີ້.
ເວີຊັນ: 1.3.2 - ປ່ອຍໃຊ້ໃນ 2026-01-27
- ແກ້ໄຂ: Cap widget ບໍ່ render ໃນ checkout forms ທີ່ໃຊ້ Elementor ຫຼື page builder ອື່ນໆ
- ແກ້ໄຂ: custom element cap-widget ຖືກລຶບອອກໂດຍ sanitization
wp_kses() - ປັບປຸງ: ໃຊ້ callable content ສຳລັບ checkout captcha field ເພື່ອຂ້າມການກັ່ນຕອງ HTML
- ປັບປຸງ: ເຮັດໃຫ້ JavaScript ງ່າຍຂຶ້ນພ້ອມ fallback ສຳລັບກໍລະນີຂອບ
ເວີຊັນ: 1.3.1 - ປ່ອຍໃຊ້ໃນ 2026-01-26
- ແກ້ໄຂ: ໂໝດ invisible ຂອງ Cap Captcha ບໍ່ auto-solving ໃນ Ultimate Multisite checkout forms ແບບໄດນາມິກ
- ປັບປຸງ: script checkout ຂອງ Cap ຕອນນີ້ໃຊ້ MutationObserver ເພື່ອກວດຈັບ widget ທີ່ໂຫຼດແບບໄດນາມິກ
- ປັບປຸງ: ເພີ່ມການສະກັດປຸ່ມ checkout ເພື່ອລໍຖ້າ token ກ່ອນສົ່ງ
Version: 1.3.0 - ປ່ອຍອອກໃນ 2026-01-27
- ໃໝ່: ການຜະສານການຊຳລະເງິນ WooCommerce Blocks ກັບການສະກັດການດຶງຂໍ້ມູນ Store API
- ໃໝ່: ຮອງຮັບ captcha ແບ ບເບິ່ງບໍ່ເຫັນສຳລັບການຊຳລະເງິນ WooCommerce (hCaptcha ແບບເບິ່ງບໍ່ເຫັນ, reCAPTCHA v2 ແບບເບິ່ງບໍ່ເຫັນ, v3)
- ໃໝ່: ໜ້າການຕັ້ງຄ່າແບບອິດສະຫຼະ ສຳລັບໃຊ້ໂດຍບໍ່ມີ Ultimate Multisite
- ໃໝ່: Jetpack Autoloader ສຳລັບປ້ອງກັນການຂັດແຍ້ງຂອງການພຶ່ງພາ
- ແກ້ໄຂແລ້ວ: hCaptcha ບໍ່ສະແດງໃນການຊຳລະເງິນ Ultimate Multisite ແບບໄດນາມິກ (ເນື້ອຫາທີ່ໂຫຼດດ້ວຍ AJAX)
- ແກ້ໄຂແລ້ວ: Captcha ບໍ່ຣີເຟຣຊ/ຣີເຊັດ ເມື່ອເກີດຂໍ້ຜິດພາດການກວດສອບຟອມ
- ແກ້ໄຂແລ້ວ: hCaptcha ບໍ່ສະແດງໃນໜ້າການຊຳລະເງິນ WooCommerce
- ແກ້ໄຂແລ້ວ: ຂໍ້ຜິດພາດບໍ່ພົບຄລາສ reCAPTCHA (ເພີ່ມໄລບຣາຣີ PHP google/recaptcha)
- ປັບປຸງ: ການກວດຈັບຂໍ້ຜິດພາດຜ່ານ WordPress hooks, MutationObserver, ແລະການສະກັດ AJAX
- ປັບປຸງ: ຄຳອະທິບາຍການຕັ້ງຄ່າຕອນນີ້ມີ URL ຂອງ Dashboard ສຳລັບ API keys
Version: 1.2.2 - ປ່ອຍອອກໃນ 2026-01-24
- ແກ້ໄຂແລ້ວ: Captcha ບໍ່ສະແດງໃນອົງປະກອບຟອມລັອກອິນ Ultimate Multisite (ຊື່ຕົວກັ່ນຕອງຟອມບໍ່ກົງກັນ)
- ແກ້ໄຂແລ້ວ: HTML ຂອງວິດເຈັດ Cap ຖືກລຶບ ອອກໂດຍການກຳຈັດຄວາມສະອາດ wp_kses()
- ແກ້ໄຂແລ້ວ: JavaScript selectors ບໍ່ພົບຟອມທີ່ມີຂີດທັບໃນ ID ຂອງອົງປະກອບ
- ເພີ່ມແລ້ວ: Filter hook
wu_kses_allowed_htmlສຳລັບ classaddons ເພື່ອຂະຫຍາຍແທັກ HTML ທີ່ອະນຸຍາດ - ລຶບອອກແລ້ວ: ໄຟລ໌ JavaScript ໂຄດທີ່ບໍ່ໃຊ້ ຖືກແທນດ້ວຍສະຄຣິບສະເພາະຜູ້ໃຫ້ບໍລິການ
Version: 1.2.1 - ປ່ອຍອອກໃນ 2026-01-23
- ແກ້ໄຂແລ້ວ: ການກວດສອບໂທເຄັນ Cap Captcha ລົ້ມເຫຼວໃນສະພາບແວດລ້ອມ multisite (ຕອນນີ້ໃຊ້ transients ທົ່ວເຄືອຂ່າຍ)
- ແກ້ໄຂແລ້ວ: Captcha ຕອນນີ້ສະແດງຢ່າງສະໝ່ຳສະເໝີສຳລັບຜູ້ໃຊ້ທຸກຄົນ ໂດຍບໍ່ຄຳນຶງເຖິງສະຖານະລັອກອິນ
- ແກ້ໄຂແລ້ວ: ຄວາມບໍ່ກົງກັນລະຫວ່າງການສະແດງ captcha ແລະການກວດສອບ ທີ່ເຮັດໃຫ້ການຊຳລະເງິນລົ້ມເຫຼວ
Version: 1.2.0 - ປ່ອຍອອກໃນ 2026-01-21
- ໃໝ່: Cap Captcha - captcha ພິສູດການເຮັດວຽກແບບໂຮສເອງ, ເປີດໃຊ້ໂດຍຄ່າເລີ່ມຕົ້ນເມື່ອເປີດໃຊ້
- ໃໝ່: ການປົກປ້ອງແບບບໍ່ຕ້ອງຕັ້ງຄ່າ - ເປີດໃຊ້ addon ແລ້ວທ່ານຈະຖືກປົກປ້ອງທັ ນທີ
- ໃໝ່: ສະຖາປັດຕະຍະກຳຜູ້ໃຫ້ບໍລິການ captcha ແບບ polymorphic ສຳລັບຂະຫຍາຍໄດ້ງ່າຍ
- ໃໝ່: ການປົກປ້ອງການຊຳລະເງິນ WooCommerce Store API ຈາກການໂຈມຕີທົດສອບບັດ
- ໃໝ່: Dashboard ຕິດຕາມສະຖິຕິ ທີ່ສະແດງການທ້າທາຍ, ການຢືນຢັນ, ແລະການໂຈມຕີທີ່ຖືກບລັອກ
- ໃໝ່: ຊຸດຕັ້ງຄ່າລະດັບຄວາມປອດໄພ (Fast, Medium, Max) ສຳລັບຄວາມຍາກຂອງ Cap Captcha
- ໃໝ່: ຄລາສຖານນາມທຳມະສຳລັບຜູ້ໃຫ້ບໍລິການ reCAPTCHA ແລະ hCaptcha
- ປັບປຸງ: ປັບໂຄງສ້າງຖານໂຄດໃໝ່ເປັນຄລາສຜູ້ໃຫ້ບໍລິການແບບໂມດູລາ
- ປັບປຸງ: ແຍກໜ້າທີ່ຮັບຜິດຊອບໃຫ້ດີຂຶ້ນດ້ວຍຄລາສຜູ້ຈັດການໂດຍສະເພາະ
- Fixed: Security improvements for $_SERVER variable sanitization
- ແກ້ໄຂແລ້ວ: ການຕັ້ງຄ່າການທົດສອບ PHPUnit ສຳລັບຂໍ້ກຳນົດການຕັ້ງຊື່ຂອງ WordPress
Version: 1.0.1 - ປ່ອຍອອກໃນ 2025-09-28
- ປ່ຽນຊື່ prefix ເປັນ ultimate-multisite; ອັບເດດ text domain; ເພີ່ມເລກເວີຊັນ.