Kaip leisti OrderKrab užklausas per WordPress ugniasienę ar saugumo įskiepį
Dažniausia priežastis, kodėl WooCommerce atmeta OrderKrab API raktą, yra ne pats raktas, o kažkas prieš WordPress: saugumo įskiepis, ugniasienė, CDN arba paties prieglobos teikėjo apsauga blokuoja OrderKrab užklausas į WooCommerce REST API arba jas pakeičia taip, kad WooCommerce jas laiko anoniminėmis. Šis gidas padeda rasti, kas blokuoja, ir praleisti OrderKrab. Po kiekvieno pakeitimo OrderKrab atidarykite Siuntimas → Checkout ir spustelėkite Atnaujinti - įspėjimas dingsta, kai tik viena užklausa praeina.
- 1
Pirmiausia patikrinkite, ar OrderKrab užklausos apskritai pasiekia WooCommerce. WordPress administravimo aplinkoje atidarykite WooCommerce → Settings → Advanced → REST API ir įsidėmėkite rakto OrderKrab Integration laiką stulpelyje Last access. OrderKrab spustelėkite Atnaujinti, tada iš naujo įkelkite raktų sąrašą. Jei Last access laikas atsinaujino, užklausa atėjo ir raktas buvo priimtas, todėl problema yra rakto teisės: redaguokite raktą ir lauke Permissions nustatykite Read/Write. Jei Last access nesikeičia, kažkas užklausą blokuoja arba pakeičia dar prieš jai pasiekiant WooCommerce - tęskite toliau.
- 2
Atidarykite savo saugumo įskiepio ugniasienės žurnalą ir paieškokite užblokuotų užklausų į
/wp-json/wc/v3/maždaug tuo metu, kai spustelėjote Atnaujinti, tada jas leiskite. Wordfence: atidarykite Tools → Live Traffic, filtruokite pagal Blocked, kad rastumėte užklausą, ir leiskite ją skiltyje Firewall → All Firewall Options (įtraukite OrderKrab adresą į Allowlisted IP addresses arba užklausą į Allowlisted URLs). WP Cerber: atidarykite Hardening ir prie leidžiamų REST API vardų erdvių pridėkitewc. Solid Security: atidarykite Settings → WordPress Tweaks ir nustatykite REST API į Default Access. All-In-One Security: išjunkite Disallow unauthorized REST requests. Įskiepis, kurio paskirtis - išjungti REST API, turi arba leisti vardų erdvęwc/v3, arba būti išjungtas. - 3
Jei jūsų svetainė naudoja Cloudflare, atidarykite SSL/TLS ir įsitikinkite, kad šifravimo režimas yra Full arba Full (strict), bet niekada Flexible: su Flexible Cloudflare su jūsų serveriu bendrauja paprastu HTTP, WordPress nemato HTTPS, o WooCommerce ignoruoja API raktus užklausose, kurias laiko nesaugiomis. Tada atidarykite Security → WAF → Custom rules ir pridėkite taisyklę užklausoms, kurių URI Path prasideda
/wp-json/wc/v3/, su veiksmu Skip (praleiskite siūlomas valdomas taisykles, užklausų ribojimą ir apsaugą nuo botų). Jei įjungtas Bot Fight Mode ir taisyklė negali jo apeiti, išjunkite Bot Fight Mode. Kiti CDN ir žiniatinklio programų ugniasienės (Sucuri, BunnyCDN, Imperva ir pan.) turi analogišką leidžiamų kelių sąrašą. - 4
Daugelis prieglobos teikėjų prieš kiekvieną svetainę naudoja savo ugniasienę (dažnai ModSecurity). Prieglobos valdymo skydelyje paieškokite skilties Security, Firewall arba WAF ir leiskite užklausas į
/wp-json/wc/v3/arba paprašykite teikėjo pagalbos tarnybos leisti WooCommerce REST API jūsų svetainei - nurodykite kelią ir kad užklausos ateina iš OrderKrab. Teikėjo klaidų žurnale nurodyta taisyklė, kuri užklausą užblokavo. - 5
Jei HTTPS ryšį prieš WordPress užbaigia apkrovos balansavimo įrenginys arba atvirkštinis tarpinis serveris, praneškite apie tai WordPress. Į
wp-config.phpvirš eilutės That's all, stop editing! įrašykite:if ( isset( $_SERVER['HTTP_X_FORWARDED_PROTO'] ) && 'https' === $_SERVER['HTTP_X_FORWARDED_PROTO'] ) { $_SERVER['HTTPS'] = 'on'; }Be to WooCommerce kiekvieną API užklausą laiko nesaugia ir raktą atmeta.
- 6
Jei jūsų serveryje PHP veikia kaip CGI arba FastCGI po Apache, jis gali pašalinti antraštę
Authorization, kurioje perduodamas raktas. Į.htaccesspradžią, virš bloko# BEGIN WordPress, įrašykite:RewriteEngine On RewriteCond %{HTTP:Authorization} ^(.*) RewriteRule ^(.*) - [E=HTTP_AUTHORIZATION:%1]Jei serverio failų patys neredaguojate, tai už jus gali padaryti jūsų prieglobos teikėjas.
- 7
Grįžę į OrderKrab, atidarykite Siuntimas → Checkout ir spustelėkite Atnaujinti. Įspėjimas dingsta, kai tik parduotuvė atsako, ir jūsų WooCommerce zonos bei tarifai vėl rodomi sąraše.
Verta žinoti
- Jei jūsų ugniasienė leidžia pagal IP adresą, o ne pagal kelią, dabartinių OrderKrab adresų paprašykite adresu support@orderkrab.com.
- Vis dar blokuojama? Parašykite support@orderkrab.com, nurodydami savo saugumo įskiepio, CDN ar prieglobos teikėjo pavadinimą ir laiką, kada spustelėjote Atnaujinti, o mes patikrinsime, ką atsakė jūsų parduotuvė.