Defaults.Exposed › الإصلاحات › Referrer-Policy
كيف تُصلح Referrer-Policy
Referrer-Policy تعليمة من سطر واحد يمنحها موقعك لمتصفح كل زائر، تتحكم في كم يسافر من عنوان موقعك معه حين ينقر رابطاً إلى موقع آخر. بدونها، يُسلَّم بهدوء العنوان الكامل لأي صفحة كان عليها — كلمات البحث، وأرقام الحسابات، وروابط الاسترداد، ومسارات الصفحات الداخلية وكلها — إلى الموقع التالي الذي يصل إليه، بما في ذلك المعلنون وشركات التحليلات وأي مكان يشير إليه رابط.
الخلاصة لعملك: في كل مرة ينقر فيها زائر رابطاً خارجياً أو إعلاناً أو مورداً مشتركاً، يمكن لمتصفحه تسليم العنوان الكامل لصفحتك إلى الوجهة — وإذا كانت عناوينك تحمل استعلامات بحث أو معرّفات عملاء أو أرقام طلبات أو روابط لمرة واحدة، فأنت تُسرّب بيانات عملاء إلى أطراف ثالثة لا تتحكم بها. وتلك مشكلة حماية بيانات تأخذها الجهات التنظيمية على محمل الجدّ، ووعد خصوصية مكسور بهدوء، وثغرة مُقيَّمة سيُعلِّمها فريق الأمن لدى عميل أثناء العناية الواجبة.
ماذا قد يكلّفك هذا
- يملأ عميل نموذجاً أو يُجري بحثاً، ثم ينقر رابطاً خارجياً أو إعلاناً — فيُسلَّم عنوان الصفحة، مكتملاً بما كتبه، مباشرة إلى معلن أو شركة تحليلات لم تقصد أبداً مشاركته معها.
- تحمل روابط إعادة تعيين كلمة المرور وتأكيد الحساب أحياناً رمزاً سرياً في عنوان الويب؛ وبدون هذه الترويسة، قد يمرّر النقر على أي رابط على تلك الصفحة العنوان كله — بالرمز المضمَّن — إلى موقع خارجي.
- تُكشَف مسارات الصفحات الداخلية الخاصة (مناطق الإدارة، والصفحات الخاصة بالعملاء، ومستويات التسعير، وروابط المستندات) لكل طرف ثالث ينقر إليه زوّارك، مُسلِّمةً للمنافسين والمتطفّلين خريطة لموقعك ما كان ينبغي لهم رؤيتها أبداً.
- تمسح مراجعة أمنية لعميل أو تدقيق خصوصية موقعك، فلا يجد Referrer-Policy، فيسجّلها كإخفاق في تقليل البيانات — نوع النتيجة الذي يُعطّل عقداً أو شهادة.
- تنتهي بيانات شخصية في أيدي معالِجين لا اتفاق لك معهم، مُحوِّلةً سهواً من خمس دقائق إلى اختراق حماية بيانات يجب الإبلاغ عنه.
لماذا يهمّ. المتصفحات، إن تُرِكت لشأنها، ثرثارة: فهي تُخبر افتراضياً الموقع التالي من أين أتى الزائر للتوّ، غالباً بما في ذلك العنوان الكامل للصفحة. لموقع تعريفي قد يكون ذلك غير ضار، لكن لحظة احتواء عناوينك أي شيء شخصي — كلمة بحث، أو معرّف طلب، أو بريد في رابط، أو مسار خاص — يُسرِّبه ذلك الافتراضي بهدوء إلى أطراف خارجية. وReferrer-Policy هي الإعداد الوحيد الذي يُخبر المتصفحات بالتوقف عن المشاركة المفرطة. إنه فحص مُقيَّم في بطاقة درجاتك يستحق نقاطاً حقيقية، ويرتبط مباشرة بواجبات تقليل البيانات بموجب قانون الخصوصية، وأحد ترويسات الأمن المعيارية التي تتوقع أي مراجعة احترافية إيجادها.
ما هذا، بكلمات بسيطة
في كل مرة ينقر فيها زائر على موقعك رابطاً إلى موقع آخر — رابط خارجي، أو إعلان لافتة، أو “شارك هذا”، حتى خطّ أو صورة محمَّلة من مكان آخر — يُلحِق متصفحه بهدوء ملاحظة تقول من أيّ صفحة من صفحاتك أتى. تلك الملاحظة تُسمّى المُحيل (referrer).
استُخدِم بحكمة، المُحيل غير ضار بل ومفيد: فهو كيف تعرف المواقع الأخرى أن الحركة أتت منك، وهو يشغّل كثيراً من التحليلات النزيهة. والمشكلة في السلوك الافتراضي. إن تُرِك دون إدارة، لا يقول المتصفح “أتوا من your-business.com” فقط — بل يُسلِّم غالباً العنوان الكامل للصفحة بالضبط، بما في ذلك كل شيء بعد اسم النطاق. وعناوين الويب تحمل أكثر بكثير مما يدرك الناس: كلمات بحث كُتِبت في موقعك، وأرقام طلبات وحسابات، ومسار صفحة خاصة للأعضاء فقط، حتى رموز سرية لمرة واحدة في روابط إعادة تعيين كلمة المرور والتأكيد.
Referrer-Policy تعليمة واحدة يرسلها موقعك إلى المتصفح تقول كم من تلك الملاحظة يُسمَح له بمشاركته. يمكنك أن تخبره بمشاركة اسم نطاقك فقط، أو فقط مع صفحات أخرى على موقعك، أو لا شيء إطلاقاً. فكّر فيها كالفرق بين تسليم غريب عنوان منزلك الكامل مع جدولك اليومي مرفقاً، وبين مجرد إخباره بأي بلدة تعيش فيها.
هذه إحدى عائلة صغيرة من “ترويسات الأمن” — تعليمات قصيرة يمنحها موقعك لمتصفح كل زائر. وهي لا تغيّر شكل موقعك أو عمله. إنها ببساطة توقف المتصفح عن المشاركة المفرطة نيابة عنك.
ما قد يكلّفك هذا
إليك طرقاً ملموسة يومية تعضّ بها Referrer-Policy مفقودة أو متساهلة أنشطة تجارية حقيقية. لا شيء من هذا يتطلب مخترِقاً — بل تحدث تلقائياً، كل يوم، في الاستخدام العادي.
-
البحث المُسرَّب. يبحث عميل في موقعك عن شيء حسّاس — منتج طبي، أو خدمة متعلقة بديون، أو مقارنة منافسين — فتقع كلمة البحث في عنوان الصفحة. ثم ينقر رابطاً خارجياً أو إعلاناً على صفحة النتائج تلك. والمعلن الآن يستقبل عنوانك وكلمة البحث فيه، متعلّماً بالضبط ما كان عميلك يبحث عنه. لم توافق أبداً على مشاركة ذلك، ولا تستطيع التراجع عنه.
-
رابط الاسترداد المكشوف. تضع أنظمة عديدة رمزاً سرياً لمرة واحدة في عنوان صفحات إعادة تعيين كلمة المرور، أو تأكيد البريد، أو “تسجيل الدخول السحري”. فإذا احتوت تلك الصفحة أي رابط خارجي أو مورد طرف ثالث، فقد يُسلَّم العنوان الكامل — بالرمز المضمَّن — إلى موقع خارجي. وفي أسوأ الحالات يُسلِّم ذلك طرفاً ثالثاً مفاتيح حساب.
-
خريطة الموقع التي أهديتها مجاناً. تكشف مسارات صفحاتك الداخلية غالباً بنيتك: /admin، /enterprise-pricing، /clients/acme، /downloads/private-report. بدون هذه الترويسة، يستقبل كل موقع خارجي ينقر إليه زوّارك تلك المسارات. فيتعلّم المنافسون مستويات تسعيرك وخطوط منتجاتك؛ ويتعلّم الكاشطون أي الصفحات يستهدفون.
-
علاقة مشاركة بيانات غير مرغوبة. يتوقع قانون الخصوصية أن تعرف وجهة بيانات عملائك الشخصية وأن يكون لديك اتفاق قائم. وتسريب عناوين صفحات تحتوي معرّفات عملاء أو عناوين بريد إلى شبكات إعلانات وشركات تحليلات — دون اتفاق ودون موافقة — هو بالضبط نوع تدفّق البيانات غير المنضبط الذي يحوّل تدقيقاً روتينياً إلى نتيجة، ونتيجة إلى اختراق يجب الإبلاغ عنه.
-
الصفقة التي تتعثّر على العناية الواجبة. حين يراجعك فريق الأمن لدى عميل أكبر، فإن ترويسات الأمن المعيارية المفقودة خانة تحقق آلية سريعة. ورؤية Referrer-Policy غائبة تخبرهم أن نظافة الخصوصية الأساسية لم تُعَدّ أبداً — وذلك الانطباع يصبغ كل شيء آخر في المراجعة.
ما هو فعلاً
افتراضياً، تتبع المتصفحات سلوكاً مكافئاً تقريباً لـ “strict-origin-when-cross-origin” على الإصدارات الحديثة — لكن لا يمكنك الاعتماد على ذلك، لأن المتصفحات القديمة، وعروض الويب المضمَّنة، وبعض الإعدادات لا تزال تعود إلى تسريب المزيد. والطريقة الوحيدة للتأكد هي ضبط السياسة صراحةً. وحين تفعل، تختار قاعدة واحدة من قائمة قصيرة. التي تهمّ:
- no-referrer — لا تشارك شيئاً. لا يُخبَر الموقع التالي شيئاً عن مصدر الزائر. أقصى خصوصية؛ قد يُضعِف تحليلات إحالتك.
- same-origin — شارك العنوان الكامل فقط حين ينتقل الزائر بين صفحات على موقعك أنت؛ ولا تشارك شيئاً مع المواقع الخارجية.
- strict-origin-when-cross-origin — الافتراضي الموصى به. ضمن موقعك، يُشارَك المسار الكامل؛ وإلى المواقع الخارجية، يُشارَك اسم نطاقك المجرّد فقط (ولا شيء إطلاقاً عند الانتقال من صفحة آمنة إلى غير آمنة). فتتعلّم الأطراف الخارجية أن الحركة أتت منك، لكن أبداً التفاصيل الخاصة بعد نطاقك.
- origin — شارك دائماً اسم نطاقك فقط، حتى ضمن موقعك.
والقيمتان اللتان يجب تجنّبهما، لأن بطاقة الدرجات تعاملهما كأنهما لا أفضل من غياب ترويسة أصلاً:
- unsafe-url — شارك العنوان الكامل مع الجميع، دائماً. هذا أسوأ حالة في كلمة واحدة.
- no-referrer-when-downgrade — الافتراضي القديم للمتصفح؛ لا يزال يرسل العنوان الكامل إلى مواقع آمنة أخرى، مُسرِّباً كل ما وُصِف أعلاه.
كيف يبدو “الجيد”: ترويسة 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.
الأخطاء الشائعة
- ضبط قيمة متساهلة وافتراض أنها تُحتسَب.
unsafe-urlوno-referrer-when-downgradeكلاهما لا يزال يُسرّب العنوان الكامل. وتقيّمهما بطاقة الدرجات بصفر — مطابق لغياب ترويسة. فإذا كانت الترويسة موجودة لكن النقاط ليست كذلك، فهذا هو السبب دائماً تقريباً. - ضبطها على الصفحة الرئيسية فقط. ينبغي إرسال الترويسة على كل صفحة، لأن التسريبات تحدث على صفحات نتائج البحث والحساب والاسترداد — لا الصفحة الرئيسية. اضبطها على مستوى الخادم أو CDN أو Cloudflare لتُطبَّق على مستوى الموقع تلقائياً.
- ضبطها في وسوم HTML
<meta>فقط. يعمل وسم<meta name="referrer">لبعض الحالات لا كلها، ومن السهل أن يصبح متضارباً عبر الصفحات. وضبطها كترويسة استجابة سليمة (الطرق أعلاه) هو النهج الموثوق. - ترك طبقة تتجاوز أخرى. إذا ضبط كل من خادمك الأصلي وCDN لديك الترويسة بقيم مختلفة، فقد تكون النتيجة غير متوقّعة. اختر مكاناً واحداً لإدارتها — عادة CDN أو Cloudflare إن كان لديك — وأبقِ الباقي متسقاً.
- معاملتها كبديل عن إبقاء البيانات خارج عناوين URL. الترويسة تحدّ من الضرر، لكن العادة الأنظف على المدى الطويل هي عدم وضع الأسرار والبيانات الشخصية في عناوين الويب ابتداءً. استخدم الترويسة الآن؛ وأثِر نظافة عناوين URL مع مطوّرك كمتابعة.
ملاحظة سريعة حول الترويسات ذات الصلة
تقع 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'.