چگونه REST API را در وردپرس غیر فعال کنیم؟
در وردپرس 4.4 شاهد افزوده شدن امکانات بی نظیر JSON REST API به وردپرس بودیم. هرچند این امکان یکی از امکانات بسیار کاربردی و جالب وردپرس است اما برای آن دسته از افراد که ممکن است مایل باشند این امکان را در سایت خود غیر فعال کنند، در یک آموزش کوتاه، چگونگی انجام این کار را شرح خواهیم داد. اگر در ادامه با مسترکد همراه شوید، علاوه بر اینکه به دلیل غیر فعال کردن API پی خواهید برد، از دو روش می آموزید که چگونه این امکان را در سایتتان غیر فعال کنید.
REST API چیست؟ چرا میخواهیم آن را غیر فعال کنیم؟
REST یک API تحت وب است که با استفاده از آن میتوانید به سادگی دستورات خود را در قالب فراخوانی های ساده ی HTML ارسال کرده و پاسخ آنها را دریافت کنید. وجود REST API در وردپرس به شما اجازه میدهد که در قالب ریکوئست های GET به سادگی اطلاعات دلخواهتان را از وردپرس دریافت کنید. همانطور که احتمالا به ذهن خودتان هم رسیده باشد، چنین امکانی، پیاده سازی اپلیکیشن های موبایل و یا ایجاد وب اپلیکیشن با استفاده از وردپرس را بسیار آسان خواهد کرد.
خوب تا اینجا همه چیز خیلی خوب است. اما دو نکته وجود دارد. اول اینکه فعال بودن این API ممکن است اجرای حملات DDos را بر روی شما آسان تر کند. (هرچند این احتمال پایین است ولی به هر حال باید آن را در نظر گرفت) و دوم اینکه وقتی به چیزی نیازی ندارید، دلیلی ندارد آن را فعال نگه دارید. (همانطور که قبلا با هم غیر فعال کردن XML-RPC را یاد گرفتیم) پس اگر از این امکان استفاده نمیکنید، منطقی است که همین حالا دست به کار شده و آن را غیر فعال کنید.
غیر فعال کردن REST API در وردپرس
نحوه ی غیر فعال کردن این وب سرویس را از دو طریق خواهیم آموخت. در روش اول طبق معمول همیشه با بازی با کد ها به هدفمان میرسیم و بعد برای افرادی که زیاد از شکل و شمایل کد خوششان نمی آید، افزونه ای جهت غیر فعال کردن REST API در وردپرس معرفی خواهیم کرد.
جهت غیر فعال کردن رست در وردپرس کافی است کد زیر را به فایل functions.php قالب خود و یا افزونه site specific که قبلا ایجاد کرده اید اضافه کنید. اگر فایل functions.php را ویرایش میکنید، ایجاد بکاپ فراموش نشود :
1 2 | add_filter('json_enabled', '__return_false'); add_filter('json_jsonp_enabled', '__return_false'); |
به همین سادگی! و اما در روش دوم کافی است افزونه ی DisableJSON API را دریافت کرده و بر روی سایت خود نصب کنید. ( آموزش نصب و فعالسازی افزونه در وردپرس ) این افزونه پس از فعال سازی بی نیاز از هر نوع تنظیم اضافی، خودش REST API را غیر فعال خواهد کرد.
بله همه چیز به همین سادگی بود! موفق باشید.
سلام من قالب همین از مدل قالب شماست هی ارور 404 میده فقط مطالب سایام بعد صفحه ریفرش میکنم درست میشه نگاه ارور res api غیر فعال کنم مشکلی ایجاد نمیکنه?
ساده، کوتاه و کاربردی بود. سپاس.
ولی دوستانی که جدیدا این مطلب رو میخونن بهتره این کارو انجام ندن چرا که در اپدیت بعدی ووکامرس یعنی 9.0 این قابلیت حذف شده و جای خودش رو به یک افزونه اختصاصی داده که هر کی نیاز داشت میتونه نصبش کنه.