Tartalomjegyzék
Mire jó a REST API?
A WordPressben a 4.4 óta elérhető a REST API. Ez elsősorban a fejlesztők hasznos, mert segítségével könnyedén le tudnak kérni adatokat a weboldaltól akkor is, ha egyébként nincs semmilyen hozzáférésük. Ezt nagyon könnyen ellenőrizheted magad is (persze ha WordPress-s lapod van), csak a domained után írd be az alábbi URL részleteket:
/wp-json
/wp-json/wp/v2/posts
/wp-json/wp/v2/pages
/wp-json/wp/v2/media
/wp-json/wp/v2/types
/wp-json/wp/v2/statuses
/wp-json/wp/v2/taxonomies
/wp-json/wp/v2/categories
/wp-json/wp/v2/tags
/wp-json/wp/v2/settings
A legtöbb oldalon viszont erre semmi szükség és csak gondot ill. biztonsági veszélyt jelent, úgyhogy érdemes megszűntetni ill. letiltani. Max akkor lehet a tiltásból gondod – persze ha nem fejlesztő vagy – ha olyan plugint használsz amihez szükség van rá (ilyen például a Contact Form 7, a Custom Contact Forms, a Maps By Storelocator Plus, ACF To WP-API [Advanced Customs Fields stb…])
WordPress REST API tiltás plugin nélkül
A REST API tiltására az egyik mód (a pluginen túl persze), ha a templatehez tartozó functions.php végére elhelyezitek az alábbi kódrészletet:
// Disable REST API link tag
remove_action('wp_head', 'rest_output_link_wp_head', 10);
// Disable oEmbed Discovery Links
remove_action('wp_head', 'wp_oembed_add_discovery_links', 10);
// Disable REST API link in HTTP headers
remove_action('template_redirect', 'rest_output_link_header', 11, 0);
WordPress REST API tiltás plugin segítségével
Ha a plugines megoldást választod, akkor az alábbi megoldások vannak például:
- Disable REST API
https://wordpress.org/plugins/disable-json-api/ - Disable WP REST API
https://wordpress.org/plugins/disable-wp-rest-api/ - Disable REST API for Real
https://wordpress.org/plugins/sar-disable-rest-api/
All In One WP Security & Firewall
Ezt a plugint illetve az ezzel történő REST API védelmet azért is emelném ki, mert egy jóval komplexebb megoldást ad a védelem terén, mint a fenti megoldások. E pluginban ez a rész így működik:
Ahogy a kiemelt részleten is látható, a belépett felhasználók számára továbbra is használható marad a funkció.