ปิด WP Rest API ก่อนเกิดปัญหาใน WordPress 4.7

ใน WordPress 4.7 จะมีการเปิด WP Rest API เป็นค่าพื้นฐานโดยที่เราไม่ต้องทำการติดตั้ง Plugin เพื่อใช้งานอีกแล้ว แต่นั่นก็ทำให้เกิดปัญหาจากส่วนนี้เช่นกัน สำหรับคนที่เป็นคนใช้ทั่วไป ที่น่าจะไม่ได้ใช้ส่วนนี้แน่ๆ

ปัญหาที่เกิดก็คือถ้าเข้าไปที่

http://www.yourdomain.com/wp-json/wp/v2/posts

จะพบข้อมูลเกี่ยวกับโพสต์ทั้งหมดของเราในรูปแบบ json พ่นพรวดออกมาง่ายๆ เลย

ทำให้ง่ายต่อการก๊อบปี้ยิ่งนัก…

ทีนี้บุคคลทั่วไปเคนก็คิดว่าน่าจะไม่ต้องเปิดตรงส่วนนี้เพื่อใช้งานหรอก เพราะน่าจะไม่ได้ใช้ และวิธีการปิดที่ง่ายที่สุดก็คือ ติดตั้งปลั๊กอิน Disable REST API


แล้วก็มีอีกวิธีคือการใส่โค้ดเข้าไปที่ไฟล์ functions.php ในธีมที่เราใช้งานอยู่ แต่เคนลองแล้วมันไม่ยอมปิดกั้นแฮะ ไม่เกี่ยวกับแคชด้วยเพราะลองในโหมดไม่ระบุตัวตนก็ยังพ่นข้อมูลออกมาอยู่

ปลั๊กอิน Disable REST API

พอติดตั้งแล้วก็ไม่ต้องทำอะไรแค่เปิดให้มันทำงานแล้วลองเข้า http://www.yourdomain.com/wp-json/wp/v2/posts ก็จะพบว่าเป็นโค้ดสั้นๆ บรรทัดเดียว เหลือเพียงบอกว่า ไม่สามารถดูข้อมูล Rest API ได้ เฉพาะผู้ที่เข้าสู่ระบบแล้วเท่านั้นถึงจะสามารถดูได้ โค้ดหน้าตาแบบนี้

{"code":"rest_cannot_access","message":"Only authenticated users can access the REST API.","data":{"status":401}}

ก็เป็นอันเรียบร้อย จริงๆ มันก็เป็นส่วนที่เปิดให้ดูได้แหละ แต่ถ้าไม่ได้ใช้ก็ปิดไว้ก่อนก็ดีครับ

 

 

ขอบคุณข้อมูลจากกรุ๊ป WordPress Alliance – พูดคุย ปรึกษา แนะนำ WP

ขอบคุณ  Warat Wongmaneekit ที่เป็นผู้แจ้งข้อมูลในส่วนนี้ในกรุ๊ป

ขอบคุณแนวทางแก้ไขจากคุณ Jiraz Pipatwasin และเว็บที่ทางคุณ Jiraz เป็นผู้นำมาโพสต์เพื่อใช้อ้างอิง How to Use WP REST API and Disable JSON REST API in WordPress

Leave a Reply

Please Login to comment
avatar
  Subscribe  
Notify of
Navigate