learn

رفع خطای REST API وردپرس؛ وضعیت HTTP، nonce و پاسخ JSON

عیب‌یابی REST API وردپرس از سلامت سایت و Network تا cookie و nonce، WAF و خطای PHP؛ بدون بازکردن عمومی endpointهای مدیریتی.

REST API بخشی از ارتباط ویرایشگر، افزونه‌ها و برنامه‌های بیرونی با وردپرس است. خطای آن ممکن است از مسیر درخواست، احراز هویت، محدودیت امنیتی یا خروجی نامعتبر PHP بیاید. پیش از نصب افزونه «رفع API»، URL، روش درخواست، کد پاسخ و بدنه را مشخص کنید. پاسخ 200 با HTML صفحه ورود، پاسخ JSON موفق محسوب نمی‌شود.

شاهد قابل استفاده جمع کنید

در ابزارها ← سلامت سایت پیام کامل را بخوانید. هنگام بازتولید خطا، در Network مرورگر درخواست ناموفق را پیدا کنید و status، content-type و بدنه را بررسی کنید. cookie، nonce، Application Password و توکن را در تصویر یا تیکت عمومی نفرستید. زمان و مسیر بدون داده حساس برای شروع کافی است.

کد پاسخ چه می‌گوید؟

نشانه مسیر بررسی
401 یا rest_not_logged_in نشست یا روش احراز هویت
403 یا nonce نامعتبر مجوز، nonce منقضی یا WAF
404 مسیر route، rewrite یا افزونه ثبت‌کننده
500 لاگ PHP و خطای برنامه
HTML به جای JSON redirect ورود، cache یا خروجی ناخواسته

احراز هویت داخلی و بیرونی

در نشست مرورگر، cookie و nonce معتبرِ همان کاربر با کنترل capability کار می‌کنند؛ nonce مجوز نامحدود نیست. برای برنامه بیرونی، از روش پشتیبانی‌شده مانند Application Password روی HTTPS و با حساب کم‌اختیار استفاده کنید. nonce یک نشست را در کد عمومی قرار ندهید و برای رفع خطا authentication را از route مدیریتی حذف نکنید.

اصلاح بر اساس علت

  1. دامنه، HTTPS، site URL و redirectهای تغییرمبدأ را بررسی کنید.
  2. اگر cache پاسخ شخصی را نگه می‌دارد، قواعد همان مسیر را اصلاح کنید.
  3. در کپی آزمایشی، افزونه یا کد اخیر را جدا کنید و گزارش PHP را به‌صورت غیرعمومی بخوانید.
  4. اگر WAF مسدود می‌کند، شناسه قانون و درخواست مشخص را بررسی و فقط استثنای لازم بسازید.
  5. در Nginx یا وب‌سرور دیگر، rewrite باید مطابق نصب وردپرس باشد؛ کپی htaccess روی Nginx اثری ندارد.

آزمون پایان کار

هم خواندن عمومی و هم عمل احرازشده مانند ذخیره نوشته را با حساب مجاز آزمایش کنید. همان عمل با حساب غیرمجاز باید رد شود. اگر فقط ابزار سلامت سبز شده ولی ویرایشگر ذخیره نمی‌کند، بررسی کامل نشده است. تنظیم دیباگ و اعتبارنامه موقت را پس از پایان جمع کنید.

مطالعه مرتبط

منابع و مستندات

بازبینی محتوا و منابع: ۲۶ مهر ۱۴۰۵.

مطالب مرتبط

ارسال نظر

فهرست مطالب