تجاوز إلى المحتوى الرئيسي
الإصدار: 1.x

HOST151: إعادة تشغيل مشتركة من التخزين المؤقت

ماذا يعني هذا

تخزين مؤقت أمام المتجر يعيد تشغيل استجابات API الخاصة بشخص واحد للجميع.

تقدّم طبقة تخزين مؤقت استجابات REST API مخزَّنة دون التحقق ممّن يطلبها: أرسل التطبيق فحصين بمصادقتين مختلفتين فتلقّى إجابة الفحص الأول في المرتين. وفي متجر نشط يعني هذا أن أمين صندوق قد يرى بيانات آخر، لذا يُحظر الاتصال حتى يستثني التخزين المؤقت واجهة API الخاصة بالمتجر. وهذه مشكلة في طبقة الاستضافة — إذ يجيب WordPress نفسه دائمًا لكل مستخدم على حدة.

بياناتك

قد تكون البيانات على هذا الجهاز في خطر — لا تمسح البيانات المحلية. وإذا استمرت المشكلة، فصدّر التشخيصات وتواصل مع دعم WCPOS.

استكشاف الأخطاء وإصلاحها

  1. استثنِ مسارات REST API الخاصة بالمتجر (/wp-json/ و/?rest_route=) من التخزين المؤقت للصفحات — على LiteSpeed عطّل تخزين REST مؤقتًا أو أضف قاعدة عدم تخزين؛ وعلى WP Engine وسّع استثناء WooCommerce ليشمل /wp-json/wcpos؛ وعلى Sucuri اضبط مستوى التخزين المؤقت ليحترم Cache-Control.
  2. ترسل واجهة API الخاصة بالمتجر بالفعل Cache-Control: no-store وVary: Authorization — لكن طبقة التخزين المؤقت تتجاهلهما؛ فوجّه المضيف إلى هاتين الترويستين.
  3. بعد تغيير إعدادات التخزين المؤقت، أفرغ التخزين المؤقت قبل إعادة الاتصال.

التفاصيل

Code
HOST151 (CACHE_SHARED_REPLAY)
Severity
error
Introduced in
WCPOS 1.10.0