Defaults.Exposed

Defaults.Exposedالإصلاحات › Referrer-Policy

كيف تُصلح Referrer-Policy

Referrer-Policy تعليمة من سطر واحد يمنحها موقعك لمتصفح كل زائر، تتحكم في كم يسافر من عنوان موقعك معه حين ينقر رابطاً إلى موقع آخر. بدونها، يُسلَّم بهدوء العنوان الكامل لأي صفحة كان عليها — كلمات البحث، وأرقام الحسابات، وروابط الاسترداد، ومسارات الصفحات الداخلية وكلها — إلى الموقع التالي الذي يصل إليه، بما في ذلك المعلنون وشركات التحليلات وأي مكان يشير إليه رابط.

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

ماذا قد يكلّفك هذا

لماذا يهمّ. المتصفحات، إن تُرِكت لشأنها، ثرثارة: فهي تُخبر افتراضياً الموقع التالي من أين أتى الزائر للتوّ، غالباً بما في ذلك العنوان الكامل للصفحة. لموقع تعريفي قد يكون ذلك غير ضار، لكن لحظة احتواء عناوينك أي شيء شخصي — كلمة بحث، أو معرّف طلب، أو بريد في رابط، أو مسار خاص — يُسرِّبه ذلك الافتراضي بهدوء إلى أطراف خارجية. وReferrer-Policy هي الإعداد الوحيد الذي يُخبر المتصفحات بالتوقف عن المشاركة المفرطة. إنه فحص مُقيَّم في بطاقة درجاتك يستحق نقاطاً حقيقية، ويرتبط مباشرة بواجبات تقليل البيانات بموجب قانون الخصوصية، وأحد ترويسات الأمن المعيارية التي تتوقع أي مراجعة احترافية إيجادها.

ما هذا، بكلمات بسيطة

في كل مرة ينقر فيها زائر على موقعك رابطاً إلى موقع آخر — رابط خارجي، أو إعلان لافتة، أو “شارك هذا”، حتى خطّ أو صورة محمَّلة من مكان آخر — يُلحِق متصفحه بهدوء ملاحظة تقول من أيّ صفحة من صفحاتك أتى. تلك الملاحظة تُسمّى المُحيل (referrer).

استُخدِم بحكمة، المُحيل غير ضار بل ومفيد: فهو كيف تعرف المواقع الأخرى أن الحركة أتت منك، وهو يشغّل كثيراً من التحليلات النزيهة. والمشكلة في السلوك الافتراضي. إن تُرِك دون إدارة، لا يقول المتصفح “أتوا من your-business.com” فقط — بل يُسلِّم غالباً العنوان الكامل للصفحة بالضبط، بما في ذلك كل شيء بعد اسم النطاق. وعناوين الويب تحمل أكثر بكثير مما يدرك الناس: كلمات بحث كُتِبت في موقعك، وأرقام طلبات وحسابات، ومسار صفحة خاصة للأعضاء فقط، حتى رموز سرية لمرة واحدة في روابط إعادة تعيين كلمة المرور والتأكيد.

Referrer-Policy تعليمة واحدة يرسلها موقعك إلى المتصفح تقول كم من تلك الملاحظة يُسمَح له بمشاركته. يمكنك أن تخبره بمشاركة اسم نطاقك فقط، أو فقط مع صفحات أخرى على موقعك، أو لا شيء إطلاقاً. فكّر فيها كالفرق بين تسليم غريب عنوان منزلك الكامل مع جدولك اليومي مرفقاً، وبين مجرد إخباره بأي بلدة تعيش فيها.

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

ما قد يكلّفك هذا

إليك طرقاً ملموسة يومية تعضّ بها Referrer-Policy مفقودة أو متساهلة أنشطة تجارية حقيقية. لا شيء من هذا يتطلب مخترِقاً — بل تحدث تلقائياً، كل يوم، في الاستخدام العادي.

ما هو فعلاً

افتراضياً، تتبع المتصفحات سلوكاً مكافئاً تقريباً لـ “strict-origin-when-cross-origin” على الإصدارات الحديثة — لكن لا يمكنك الاعتماد على ذلك، لأن المتصفحات القديمة، وعروض الويب المضمَّنة، وبعض الإعدادات لا تزال تعود إلى تسريب المزيد. والطريقة الوحيدة للتأكد هي ضبط السياسة صراحةً. وحين تفعل، تختار قاعدة واحدة من قائمة قصيرة. التي تهمّ:

والقيمتان اللتان يجب تجنّبهما، لأن بطاقة الدرجات تعاملهما كأنهما لا أفضل من غياب ترويسة أصلاً:

كيف يبدو “الجيد”: ترويسة Referrer-Policy موجودة ومضبوطة على قيمة مقيِّدة — لمعظم الأنشطة التجارية، strict-origin-when-cross-origin. هذا يُبقي تحليلات الإحالة تعمل بينما يضمن ألّا يصل شيء بعد اسم نطاقك أبداً إلى موقع خارجي.

كيفية الإصلاح (مجاناً، نحو 5 دقائق)

سلّم هذا القسم للشخص التقني لديك، أو مطوّر الويب، أو دعم الاستضافة — الإصلاح مجاني، إنه سطر واحد، ولن يُعطّل موقعك. لا طرح محفوف بالمخاطر هنا: على عكس بعض إعدادات الأمن، لا يمكن لـ Referrer-Policy عاقلة أن توقف عمل روابطك أو صفحاتك. إنها فقط تقلّص ما يُشارَك مع مواقع أخرى.

الهدف: ضبط ترويسة استجابة Referrer-Policy بالقيمة strict-origin-when-cross-origin (أو قيمة أصرم إن فضّلت مشاركة أقل).

Cloudflare (دون شيفرة — الأسهل إن استخدمته): لوحة التحكم ← نطاقك ← Rules ← Transform Rules ← Modify Response Header ← Create rule ← Set static ← اسم الترويسة Referrer-Policy، القيمة strict-origin-when-cross-origin ← طبّق على كل الطلبات الواردة ← Deploy.

Google Workspace / Microsoft 365: هذان يديران بريدك، لا موقعك، فتُضبَط الترويسة حيثما يُستضاف موقعك فعلاً (مضيف الويب الخاص بك، أو CDN، أو الخادم) — لا في لوحة إدارة Workspace أو 365. حدّد المضيف واستخدم الخيار المطابق أدناه.

Nginx:

add_header Referrer-Policy "strict-origin-when-cross-origin" always;

Apache (في إعداد الموقع أو .htaccess):

Header always set Referrer-Policy "strict-origin-when-cross-origin"

IIS (web.config):

<httpProtocol><customHeaders>
  <add name="Referrer-Policy" value="strict-origin-when-cross-origin" />
</customHeaders></httpProtocol>

Node / Express:

app.use((req, res, next) => { res.setHeader('Referrer-Policy', 'strict-origin-when-cross-origin'); next(); });

WordPress / المضيفون الشائعون: يتيح معظم مضيفي WordPress المُدارين والمشتركين إضافة ترويسات استجابة إمّا عبر إضافة أمنية، أو لوحة “headers” في لوحة تحكم الاستضافة، أو مقتطف .htaccess أعلاه. وإن كنت خلف Cloudflare، فطريقة Cloudflare هي الأنظف وتُطبَّق في كل مكان دفعة واحدة.

بعد التطبيق: حمّل موقعك وأعِد إجراء الفحص، أو استخدم أدوات مطوّر متصفحك (تبويب Network ← انقر المستند الرئيسي ← Response Headers) للتأكد من وجود Referrer-Policy: strict-origin-when-cross-origin.

الأخطاء الشائعة

ملاحظة سريعة حول الترويسات ذات الصلة

تقع Referrer-Policy إلى جانب مجموعة صغيرة من ترويسات أمن ويب أخرى نفحصها — Content-Security-Policy، وX-Frame-Options، وX-Content-Type-Options، وبضع ترويسات عبر المصادر متقدمة. إنها تحمي أشياء مختلفة، فامتلاك واحدة لا يغطّي الأخرى. فإذا كانت Referrer-Policy مفقودة، فمن المجدي أن تطلب ممن يُصلِحها التأكد من وجود الترويسات المعيارية الأخرى في الوقت نفسه، إذ تُعدّ عادة في المكان الواحد نفسه ولا تكلّف الزيارة شيئاً إضافياً.

باختصار

Referrer-Policy هي أرخص وأأمن إصلاح خصوصية في بطاقة درجاتك: سطر واحد، نحو خمس دقائق، دون خطر تعطيل أي شيء، ومجاني. إنها توقف متصفحات زوّارك عن التسليم الهادئ لعناوين صفحاتك الخاصة — وأي بيانات شخصية تحتويها — لكل موقع خارجي ينقرون إليه. اضبطها على strict-origin-when-cross-origin، وتأكد من أنها فعّالة على كل صفحة، فتُغلَق الثغرة متوسطة الخطورة ونقاطها الـ 15.

الأسئلة الشائعة

لستُ شخصاً تقنياً — هل هذا أمر يمكنني التعامل معه فعلاً؟

نعم، وهو من أسهل الإصلاحات في بطاقة الدرجات كلها. إنه سطر واحد يضيفه من يدير موقعك أو استضافتك، وعلى خدمات مثل Cloudflare إنه نقرتان دون أي شيفرة إطلاقاً. سلّمهم قسم 'كيفية الإصلاح' أدناه. إنه مجاني، يستغرق نحو خمس دقائق، وعلى عكس بعض إعدادات الأمن لن يُعطّل أي شيء على موقعك.

ماذا يعني 'المُحيل' (referrer) هنا أصلاً؟

حين ينقر أحدهم رابطاً من صفحتك إلى موقع آخر، يرسل متصفحه ملاحظة تقول من أيّ صفحة أتى — تلك الملاحظة تُسمّى المُحيل. وهي مفيدة فعلاً للتحليلات النزيهة. والمشكلة أنها افتراضياً تتضمن غالباً عنوان صفحتك الكامل، لا اسم نطاقك فقط. فإذا احتوى ذلك العنوان أي شيء خاص، يُشارَك أيضاً. وتتيح لك Referrer-Policy تقليص الملاحظة إلى اسم نطاقك فقط، أو إطفاءها، فلا يُسرَّب شيء حسّاس.

هل يستحق العناء فعلاً إن كان موقعي لا يتعامل مع المدفوعات؟

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

هل قد يُعطّل تفعيل هذا موقعي أو تحليلاتي؟

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

هل هذه مسألة قانون خصوصية أم مجرد أمر مستحبّ؟

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

هل يؤثر هذا في درجتنا، أم أنه مجرد نصيحة؟

يؤثر في درجتك. فحص Referrer-Policy مُقيَّم ويستحق حتى 15 نقطة في فئة أمن الويب. والترويسة المفقودة تُعلَّم متوسطة الخطورة. ولاحِظ فخّاً واحداً: ضبط الترويسة على قيمة متساهلة مثل 'unsafe-url' أو 'no-referrer-when-downgrade' يُقيَّم بصفر — كأنه لا ترويسة أصلاً — لأن تلك القيم لا تزال تُسرّب العنوان الكامل. ولكسب النقاط تحتاج قيمة مقيِّدة بشكل صحيح مثل 'strict-origin-when-cross-origin'.