إصلاح خطأ 403 بعد إرسال النماذج باستخدام منشئ النماذج السهل في ووردبريس


إذا ظهر لك خطأ 403 Forbidden بعد إرسال نموذج تم إنشاؤه باستخدام منشئ النماذج السهل، فهذا يعني أن طلب الإرسال يتم حظره قبل أن يتمكن ووردبريس من إكمال معالجة النموذج.

غالبًا لا تكون هذه المشكلة ناتجة عن منشئ النماذج السهل نفسه. في معظم الحالات، تحدث بسبب تداخل إضافة أمان، أو قاعدة جدار حماية، أو تقييد في REST API، أو حظر ترويسة nonce، أو إعداد غير مناسب في إضافة التخزين المؤقت مع عملية إرسال النموذج.

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

خطأ 403

ما هو خطأ 403 بعد إرسال النموذج؟

يعني خطأ 403 Forbidden أن الخادم فهم الطلب، لكنه رفض السماح بتنفيذه.

في سياق منشئ النماذج السهل، يعني ذلك عادةً أن طلب إرسال النموذج تم حظره بسبب أحد الأسباب التالية:

  • قامت إضافة أمان بتقييد الوصول إلى WordPress REST API
  • اعتبرت قاعدة Firewall أو WAF الطلب مشبوهًا
  • تم حظر أو إزالة ترويسة X-WP-Nonce المطلوبة
  • تم تعطيل الوصول إلى REST API للمستخدمين غير المسجلين
  • قامت إضافة تخزين مؤقت بعرض محتوى ثابت أو قديم بدلًا من المحتوى الديناميكي
  • تم تعطيل سلوك AJAX أو السلوك الديناميكي للنموذج بسبب إعدادات التخزين المؤقت أو التحسين

عند حدوث ذلك، قد يبدو النموذج وكأنه تم إرساله، لكن الطلب يفشل قبل معالجة بيانات النموذج.


من قد يرى هذا الخطأ؟

يمكن أن يظهر هذا الخطأ لأنواع مختلفة من المستخدمين:

  • مديرو المواقع أثناء اختبار نموذج على موقع ووردبريس
  • الزوار غير المسجلين عند إرسال نموذج اتصال عام، أو تسجيل، أو استطلاع، أو دفع
  • العملاء عند إرسال نماذج الطلبات، أو الحجوزات، أو الدفع
  • المستخدمون الذين يرفعون ملفات من خلال نموذج
  • المستخدمون الذين يرسلون نماذج متعددة الخطوات أو نماذج تحتوي على حقول ديناميكية

من الأعراض الشائعة أن يعمل النموذج عندما تكون مسجل الدخول كمدير، لكنه يفشل عند الزوار العامين. يشير ذلك غالبًا إلى أن الوصول إلى REST API للمستخدمين غير المسجلين محظور.


الأسباب الرئيسية لخطأ 403

1. إضافات الأمان التي تحظر طلبات REST API

يستخدم منشئ النموذج السهل نقاط نهاية الطلبات في ووردبريس لمعالجة عمليات إرسال النماذج. بعض إضافات الأمان تقوم بتقييد أو حظر طلبات REST API للمستخدمين غير المسجلين.

قد يؤثر ذلك على الزوار لأن عمليات إرسال النماذج العامة تأتي عادةً من مستخدمين غير مسجلين في ووردبريس.

تشمل الأسباب المرتبطة بالأمان ما يلي:

  • تعطيل REST API للمستخدمين غير المسجلين
  • حظر مساحات أسماء REST API الخاصة بمنشئ النماذج السهل
  • إزالة أو حظر ترويسة X-WP-Nonce
  • قواعد WAF التي تعتبر بيانات النموذج مشبوهة
  • تطبيق تحديد معدل الطلبات على طلبات إرسال النماذج
  • حظر طلبات POST بواسطة قواعد حماية تسجيل الدخول

إذا قامت إضافة أمان بحظر طلب منشئ النماذج السهل، فقد يُرجع النموذج خطأ 403.

للاطلاع على الدليل الكامل الخاص بإضافات الأمان، راجع:

المرجع: توافق إضافات الأمان مع منشئ النماذج السهل – إصلاح أخطاء 403


2. إضافات التخزين المؤقت التي تتداخل مع النماذج الديناميكية

إضافات التخزين المؤقت مهمة لتحسين أداء مواقع ووردبريس، لكن النماذج عناصر ديناميكية ولا ينبغي دائمًا عرضها من نسخة مخزنة مؤقتًا.

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

قد تسبب مشكلات التخزين المؤقت ما يلي:

  • نماذج معطلة أو لا يتم إرسالها
  • فشل التحقق من صحة البيانات
  • ظهور حقول مملوءة مسبقًا ببيانات قديمة
  • مشكلات في رفع الملفات
  • فشل إشعارات البريد الإلكتروني أو الرسائل النصية SMS
  • معالجة غير صحيحة للدفع أو الاشتراكات
  • مشكلات في إرسال AJAX

لهذا السبب، يجب عادةً استثناء الصفحات أو المقالات التي تحتوي على نماذج منشئ النموذج السهل من التخزين المؤقت الكامل للصفحة.

للاطلاع على دليل التخزين المؤقت الكامل، راجع:

المرجع: كيفية استثناء نماذج منشئ النماذج السهل من إضافات التخزين المؤقت في ووردبريس


3. قواعد WAF أو Firewall التي تحظر بيانات النموذج

قد يقوم جدار حماية تطبيقات الويب، المعروف باسم WAF، بحظر بعض عمليات إرسال النماذج إذا اكتشف رموزًا خاصة، أو مدخلات شبيهة بـ HTML، أو كلمات شبيهة باستعلامات SQL، أو حقول نصية طويلة، أو عمليات رفع ملفات، أو بيانات مرتبطة بالدفع.

قد يحدث ذلك مع أدوات مثل:

  • Wordfence Firewall
  • Sucuri Firewall
  • Cloudflare WAF
  • iThemes Security / Solid Security
  • All In One WP Security & Firewall
  • WP Cerber Security
  • Shield Security
  • قواعد ModSecurity على مستوى الخادم

إذا قام جدار الحماية بحظر الطلب قبل وصوله إلى ووردبريس، فلن يتمكن منشئ النماذج السهل من معالجة النموذج.


4. إزالة الترويسات المطلوبة

يستخدم منشئ النماذج السهل آلية تحقق آمنة من الطلبات. إذا قامت إضافة أمان، أو Firewall، أو Proxy، أو CDN، أو إعدادات الخادم بإزالة الترويسات المطلوبة مثل:

X-WP-Nonce

فقد يرفض ووردبريس الطلب ويعرض خطأ 403.

يحدث ذلك بشكل خاص عند تفعيل قواعد Firewall صارمة أو قواعد تصفية الترويسات.


كيفية تحديد سبب المشكلة

اتبع الخطوات التالية لتأكيد سبب خطأ 403.

الخطوة 1: فتح أدوات المطوّر في المتصفح وفحص طلب الشبكة

افتح الصفحة الموجودة على موقعك والتي تحتوي على نموذج منشئ النماذج السهل.

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

كيفية فتح أدوات المطوّر

Windows

في معظم المتصفحات مثل Chrome أو Edge أو Firefox أو Brave:

F12

أو:

Ctrl + Shift + I

ثم اضغط على تبويب Network.


macOS / Apple

في Chrome أو Edge أو Firefox أو Brave:

Command + Option + I

ثم اضغط على تبويب Network.

في Safari، قد تحتاج أولًا إلى تفعيل قائمة Develop:

Safari → Settings → Advanced → Show features for web developers

بعد ذلك افتح أدوات المطوّر باستخدام:

Command + Option + I

أو من خلال:

Develop → Show Web Inspector

ثم افتح تبويب Network.


Linux

في معظم المتصفحات مثل Chrome أو Chromium أو Firefox أو Brave أو Edge:

F12

أو:

Ctrl + Shift + I

ثم اضغط على تبويب Network.


كيفية اختبار طلب إرسال النموذج

بعد فتح تبويب Network:

  1. تأكد من أن تبويب Network مفتوح قبل إرسال النموذج.
  2. اضغط على زر Clear داخل تبويب Network لإزالة الطلبات القديمة.
  3. أرسل نموذج منشئ النموذج السهل الموجود في الصفحة.
  4. راقب الطلبات الجديدة التي تظهر في تبويب Network.
  5. ابحث عن طلب يظهر باللون الأحمر، أو حالته فاشلة، أو يحمل رمز الحالة 403.
  6. اضغط على الطلب الفاشل لفحص تفاصيله.
  7. تحقق من Request URL و Status Code.

إذا كان رابط الطلب الفاشل يحتوي على:

/wp-json/

فعادةً ما تكون المشكلة مرتبطة بـ واجهة REST API في ووردبريس، أو إضافة أمان، أو قاعدة جدار حماية، أو فشل التحقق من nonce، أو حظر ترويسة مطلوبة.

إذا كان رابط الطلب الفاشل يحتوي على:

admin-ajax.php

فقد تكون المشكلة مرتبطة بمعالجة AJAX، أو التخزين المؤقت، أو قواعد الأمان، أو تحسينات JavaScript.

إذا كان رمز الحالة هو:

403 Forbidden

فهذا يعني أن الخادم، أو إضافة الأمان، أو جدار الحماية، أو CDN، أو إعدادات ووردبريس قامت بحظر طلب إرسال النموذج.

مثال

Request URL: https://example.com/wp-json/*
Status Code: 403 Forbidden

هذا يعني أن نقطة نهاية إرسال نموذج منشئ النماذج السهل تم حظرها. في هذه الحالة، يجب فحص إضافة الأمان، وإعدادات الوصول إلى REST API، وقواعد جدار الحماية/WAF، والتأكد من عدم إزالة ترويسة X-WP-Nonce.


الخطوة 2: عطّل إضافات الأمان والتخزين المؤقت مؤقتًا

لأغراض الاختبار فقط، عطّل مؤقتًا ما يلي:

  • إضافات الأمان
  • إضافات جدار الحماية
  • إضافات التخزين المؤقت
  • ميزات تحسين JavaScript
  • تخزين CDN المؤقت أو قواعد WAF

ثم اختبر النموذج مرة أخرى.

إذا عمل النموذج بعد تعطيل إحدى هذه الأدوات، فمن المرجح أن تكون تلك الأداة هي سبب المشكلة.

لا تترك الأمان أو التخزين المؤقت معطلًا بشكل دائم. استخدم الحلول أدناه بدلًا من ذلك.


كيفية إصلاح خطأ 403

1. السماح بنقاط نهاية REST API الخاصة بمنشئ النماذج السهل

إذا كانت إضافة الأمان لديك تسمح باستثناء الروابط أو نقاط النهاية، فأضف هذه المسارات إلى القائمة البيضاء أو قواعد السماح:

/wp-json/efb/
/wp-json/emsfb/

يسمح ذلك بمرور طلبات إرسال نماذج منشئ النماذج السهل دون فتح REST API بالكامل.

تأكد أيضًا من عدم حظر أو إزالة الترويسة التالية:

X-WP-Nonce

2. لا تقم بتعطيل REST API لإرسال النماذج العامة

تتضمن بعض إضافات الأمان خيارًا مثل:

Disable REST API for non-logged-in users

إذا كان هذا الخيار مفعّلًا، فقد لا يتمكن الزوار العامون من إرسال النماذج.

يمكنك إصلاح ذلك بإحدى الطريقتين:

  • تعطيل تقييد REST API، أو
  • إبقاء التقييد مفعّلًا مع السماح بمساحات أسماء منشئ النماذج السهل

مساحات الأسماء الموصى بالسماح بها:

efb
emsfb

3. استثناء صفحات النماذج من التخزين المؤقت

حدد الصفحة أو المقالة التي تم تضمين النموذج فيها، مثل:

/contact/
/register/
/order-form/
/booking/

بعد ذلك، انتقل إلى إعدادات إضافة التخزين المؤقت وأضف هذه الروابط إلى قائمة الاستثناءات.

حسب الإضافة، قد يظهر هذا الإعداد بأسماء مثل:

  • Exclude URLs
  • Do Not Cache URLs
  • Never Cache Pages
  • Cache Exclusions
  • Advanced Cache Rules

بعد إضافة الاستثناء، امسح ذاكرة التخزين المؤقت للموقع واختبر النموذج مرة أخرى.


4. مسح جميع طبقات التخزين المؤقت

بعد تغيير إعدادات التخزين المؤقت، امسح كل طبقات الكاش، بما في ذلك:

  • كاش إضافة التخزين المؤقت في ووردبريس
  • كاش المتصفح
  • كاش CDN
  • كاش الخادم
  • Object Cache، إن وجد

ثم اختبر النموذج في نافذة تصفح خفي أو خاص.


5. تعطيل تحسين JavaScript في صفحات النماذج

بعض إضافات الأداء تقوم بتحسين JavaScript من خلال تأخير تحميله، أو استخدام defer، أو دمج الملفات، أو تصغيرها.

قد تؤدي هذه الميزات أحيانًا إلى تعطيل سلوك النماذج.

إذا استمر فشل النموذج، فاستثنِ صفحة النموذج من:

  • تأخير JavaScript
  • تحميل JavaScript باستخدام defer
  • تصغير JavaScript
  • دمج JavaScript
  • التحميل الكسول للسكربتات
  • إزالة JavaScript غير المستخدم

هذا مهم بشكل خاص للنماذج متعددة الخطوات، ونماذج الدفع، ونماذج رفع الملفات، والنماذج التي تحتوي على حقول شرطية أو ديناميكية.


6. فحص سجلات Firewall و WAF

إذا كنت تستخدم Firewall أو CDN مثل Cloudflare أو Sucuri أو Wordfence أو WAF على مستوى الاستضافة، فافحص سجلات جدار الحماية.

ابحث عن الطلبات المحظورة المرتبطة بـ:

/wp-json/efb/
/wp-json/emsfb/

إذا وجدت طلبات محظورة، فأنشئ قاعدة سماح أو قاعدة استثناء لنقاط نهاية إرسال نماذج منشئ النماذج السهل.


ملاحظات خاصة ببعض الإضافات

Wordfence

تحقق من:

Wordfence → Firewall → Firewall Options

أضف المسارات التالية إلى الروابط المسموح بها أو القائمة البيضاء عند الحاجة:

/wp-json/efb/
/wp-json/emsfb/

تأكد أيضًا من أن الوصول إلى REST API غير محظور بالنسبة إلى منشئ النماذج السهل.

iThemes Security / Solid Security

تحقق من إعدادات REST API ضمن إعدادات WordPress Tweaks أو إعدادات الأمان.

استخدم إعداد الوصول الافتراضي إلى WordPress REST API عندما يكون ذلك ممكنًا، أو أنشئ استثناءً لنقاط نهاية منشئ النماذج السهل.

All In One WP Security & Firewall

تحقق مما إذا كان الوصول إلى REST API معطلًا للمستخدمين غير المسجلين.

إذا كان مفعّلًا، فاسمح بمساحات أسماء منشئ النماذج السهل أو عطّل هذا التقييد.

Sucuri Security أو WAF سحابي

إذا كنت تستخدم جدار حماية سحابيًا، فقد يحدث الحظر قبل أن يصل الطلب إلى ووردبريس.

أضف إلى القائمة البيضاء:

/wp-json/efb/
/wp-json/emsfb/

وتأكد أيضًا من أن ترويسة X-WP-Nonce لا تتم إزالتها من الطلبات.

إضافات التخزين المؤقت

بالنسبة إلى إضافات التخزين المؤقت مثل WP Rocket و LiteSpeed Cache و W3 Total Cache و WP Fastest Cache و WP Super Cache و FlyingPress و Breeze و Hummingbird و NitroPack و WP-Optimize، استثنِ رابط صفحة النموذج من التخزين المؤقت الكامل للصفحة.

مثال:

/contact-us/
/order-form/
/registration/

ثم امسح الكاش واختبر النموذج مرة أخرى.

قائمة التحقق الموصى بها لاستكشاف المشكلة

استخدم هذه القائمة لإصلاح معظم أخطاء 403 بعد إرسال النماذج:

  1. افتح أدوات المطور في المتصفح وافحص الطلب الفاشل.
  2. تأكد مما إذا كان الطلب الفاشل يحتوي على /wp-json/.
  3. أضف مسارات REST API الخاصة بمنشئ النماذج السهل إلى القائمة البيضاء:
    • /wp-json/efb/
    • /wp-json/emsfb/
  4. تأكد من عدم حظر أو إزالة X-WP-Nonce.
  5. اسمح بالوصول إلى REST API لإرسال نماذج منشئ النماذج السهل العامة.
  6. استثنِ الصفحات التي تحتوي على نماذج منشئ النماذج السهل من التخزين المؤقت.
  7. امسح كاش ووردبريس، وCDN، والمتصفح، والخادم.
  8. اختبر النموذج في وضع التصفح الخفي أو الخاص.
  9. افحص سجلات Firewall وWAF وإضافة الأمان.
  10. عطّل تحسين JavaScript في صفحة النموذج إذا لزم الأمر.

هل هذه مشكلة برمجية في منشئ النماذج السهل؟

في معظم الحالات، لا.

عادةً يعني خطأ 403 Forbidden أن طلب إرسال النموذج تم حظره بواسطة قاعدة أمان، أو تقييد REST API، أو Firewall، أو CDN، أو طبقة تخزين مؤقت، أو إعدادات الخادم.

لا يستطيع منشئ النماذج السهل معالجة النموذج إلا بعد وصول الطلب إلى ووردبريس بنجاح. إذا قامت إضافة أخرى، أو جدار حماية، أو طبقة تخزين مؤقت بحظر الطلب أو تعديله أولًا، فقد يفشل إرسال النموذج.

أدلة ذات صلة

للحصول على حلول تفصيلية، يرجى قراءة الأدلة التالية:

ملاحظات ختامية

عادةً يحدث خطأ 403 Forbidden بعد إرسال النموذج بسبب تعارض بين عملية إرسال النموذج الديناميكية وإعدادات الأمان، أو Firewall، أو REST API، أو التخزين المؤقت، أو تحسين الأداء في موقعك.

الحل الأفضل ليس تعطيل الأمان أو التخزين المؤقت بالكامل. بدلًا من ذلك، اسمح بنقاط نهاية REST API المطلوبة لـ منشئ النموذج السهل، وحافظ على ترويسة X-WP-Nonce، واستثنِ الصفحات التي تحتوي على نماذج من التخزين المؤقت الكامل للصفحة.

بعد ضبط هذه الإعدادات بشكل صحيح، يجب أن تعمل نماذج منشئ النماذج السهل بشكل طبيعي لكل من المستخدمين المسجلين والزوار العامين.