رأس السماح المنشأ هو جزء من بروتوكول هتب ويحدد قائمة المجالات التي يسمح لها بالوصول إلى الموارد على الخادم. إذا لم يتم تعيين هذا العنوان ، فقد يرفض المتصفح الوصول إلى الموارد بسبب سياسة الأمان.
قد يحدث عدم وجود رأس السماح المنشأ لعدة أسباب ، على سبيل المثال ، بسبب تكوين الخادم غير صحيح أو عدم وجود حقوق الوصول اللازمة. من المهم معرفة كيفية إصلاح هذه المشكلة من أجل توفير الوصول إلى مواردك وتجنب أخطاء المتصفح.
تتمثل إحدى طرق إصلاح رأس السماح الأصلي المفقود في تثبيته على جانب الخادم. للقيام بذلك ، حدد قائمة بالنطاقات المسموح لها بالوصول ، أو استخدم الرمز "*" للسماح بالوصول إلى أي نطاقات. قد يبدو الرأس المقابل كما يلي:
التحكم في الوصول-السماح-المنشأ: *
هناك طريقة أخرى لإصلاح المشكلة وهي استخدام حزم أو وحدات متخصصة تقوم تلقائيا بتعيين رأس السماح الأصلي لك. على سبيل المثال ، تقدم خوادم الويب أباتشي وإنجن إكس وحدات مناسبة لهذا الغرض.
- عدم وجود رأس السماح المنشأ
- لماذا هو رأس السماح المنشأ مفقود?
- لماذا أحتاج إلى رأس السماح المنشأ?
- كيف يمكنني إصلاح رأس السماح المنشأ المفقود?
عدم وجود رأس السماح المنشأ
عند محاولة تقديم طلب أجاكس أو الوصول إلى مورد على مجال آخر ، يقوم متصفحك بالتحقق من رأس التحكم في الوصول-السماح-الأصل (أو مجرد السماح-الأصل) على استجابة الخادم لتحديد ما إذا كان البرنامج النصي للعميل مسموحا له بالوصول إلى هذا المورد.
إذا كان رأس السماح-الأصل مفقودا أو مثبتا بشكل غير صحيح على الخادم ، فسيقوم المتصفح بحظر الطلب وعرض خطأ مثل "لا يوجد رأس"التحكم في الوصول-السماح-الأصل "موجود على المورد المطلوب". هذا إجراء أمان يمنع تنفيذ الطلبات باستثناء تلك المسموح بها صراحة بواسطة الخادم.
لحل هذه المشكلة ، تحتاج إلى تغيير إعدادات الخادم بحيث يرسل الرأس الصحيح للتحكم في الوصول والسماح بالأصل استجابة للطلب. يجب أن يحتوي الرأس على المجال الذي يسمح بالوصول إلى المورد منه. على سبيل المثال ، إذا كان البرنامج النصي الخاص بك يعمل على مجال المثال.كوم ، والمورد الذي تحاول الوصول إليه موجود على نطاق api.example.com ، يجب أن يرسل الخادم الخاص بك الرأس:
| التحكم في الوصول-السماح-المنشأ: | https://example.com |
سيسمح هذا للبرنامج النصي للعميل بالوصول إلى المورد على المجال api.example.com .
في حالة رغبتك في السماح بالوصول من جميع المجالات ، يمكنك تعيين الرأس:
| التحكم في الوصول-السماح-المنشأ: | * |
ومع ذلك ، يعتبر هذا الخيار أقل أمانا ، لأنه يفتح الوصول من جميع المجالات.
بالإضافة إلى التحكم في الوصول-السماح-الأصل ، يمكن للخادم إرسال رؤوس أخرى مثل التحكم في الوصول-السماح-الطرق والتحكم في الوصول-السماح-الرؤوس لتحديد طرق الطلب المسموح بها والرؤوس.
تحقق دائما من وثائق الخادم الخاص بك أو اتصل بمسؤول الويب لتكوين رأس التحكم في الوصول والسماح بالأصل والرؤوس الضرورية الأخرى للسماح بالوصول إلى مواردك من المجالات الأخرى.
لماذا هو رأس السماح المنشأ مفقود?
رأس هتب للتحكم في الوصول والسماح للأصل هو آلية تسمح لخوادم الويب بالسماح أو رفض الوصول إلى الموارد بناء على مصدر الطلب. عندما يكون رأس السماح الأصلي مفقودا ، فهذا يعني أن الخادم لا يسمح بالوصول إلى موارده من المجالات أو المصادر الأخرى.
يمكن أن يتسبب عدم وجود رأس السماح الأصلي في حدوث مشكلات عند تقديم طلبات أجاكس أو عند العمل مع واجهة برمجة التطبيقات ، لأن المتصفحات ستحظر الوصول إلى الموارد الموجودة على الخادم من مجال آخر. هذا إجراء أمني لتجنب الوصول غير المصرح به إلى المعلومات الموجودة على الخادم.
لحل مشكلة رأس السماح الأصلي المفقود ، تحتاج إلى تكوين الخادم بحيث يرسل هذا الرأس مع الردود على الطلبات. يمكن أن يحتوي الرأس على قيمة واحدة ، على سبيل المثال ، " * " (يسمح بجميع المجالات) ، أو مجال معين يسمح بالوصول منه.
يمكن إجراء إضافة رأس السماح المنشأ على جانب الخادم ، في تكوين خادم الويب ، أو على جانب التطبيق عند معالجة الطلبات. على سبيل المثال ، إذا كنت تستخدم خادم أباتشي ، يمكنك إضافة السطر التالي إلى الملف.هتكس:
تعيين رأس الوصول-التحكم-السماح-الأصل "*"
عند استخدام لغات البرمجة المختلفة والأطر ، وهناك طرق لإضافة رأس السماح المنشأ. من المهم أن نفهم أن السماح بالوصول من أي مصدر قد يكون غير آمن ، لذلك يوصى بتوخي الحذر عند استخدام الرمز " * " ، والسماح بالوصول فقط من المجالات الموثوقة.
لماذا أحتاج إلى رأس السماح المنشأ?
رأس السماح المنشأ هو جزء من بروتوكول هتب ويهدف إلى الإشارة إلى مصدر صالح (الأصل) الذي يسمح له بتلقي مورد من مجال آخر. يسمح للخادم بالتحكم في الوصول إلى موارده ومنع نقاط الضعف المحتملة.
الغرض الرئيسي من استخدام رأس السماح المنشأ هو حماية البيانات السرية ومنع طلبات الموارد من مصادر غير موثوق بها. وبدون ذلك ، إذا لم يتم تحديد الرأس ، فإن المتصفحات تنفذ آلية سياسة المصدر نفسه ، والتي تحظر الوصول إلى البيانات في المجالات الأخرى. ومع ذلك ، يسمح لك رأس السماح بالأصل بتحديد المجالات المسموح لها بتلقي الموارد منها بشكل صريح ، مما يحرر المتصفحات من تطبيق سياسة نفس الأصل.
بعبارات بسيطة ، رأس السماح بالأصل هو إجراء أمني يسمح لك بالتحكم في الوصول إلى الموارد على مواقع الويب. بفضل ذلك ، يمكن لمطوري الويب تحديد مصادر الطلبات المصرح بها ومنع الهجمات المحتملة المتعلقة بالوصول غير المصرح به إلى البيانات.
بالإضافة إلى ذلك ، يعد رأس السماح المنشأ مهما في تطوير واجهة برمجة التطبيقات والاتصال عبر الخادم. يسمح لك بإنشاء اتصالات آمنة بين المجالات المختلفة وتبادل البيانات بينها.
- كيف يمكنني إصلاح رأس السماح المنشأ المفقود?
- تعيين رأس الوصول-التحكم-السماح-الأصل "http://example.com "
- - السماح بالوصول فقط من مجال معين
إذا كنت تستخدم لغة خادم معينة مثل فب ، يمكنك تعيين صراحة رأس السماح المنشأ في التعليمات البرمجية الخاصة بك قبل إرسال استجابة لطلب أجاكس. على سبيل المثال ، في فب يمكنك استخدام وظيفة