أولاً، دعونا نرى بشكل عام ما هو وكيل المستخدم لمتصفح الإنترنت وما يتم استخدامه من أجله.
محتوى
ما هو وكيل المستخدم (أو وكيل المستخدم)؟
تحتوي جميع متصفحات الإنترنت (Internet Explorer، وSafari، وOpera، وFirefox، وChrome، وما إلى ذلك) على برنامج وكيل يتفاعل مع موقع الويب الذي تزوره، على مستوى الخادم المضيف. يقوم هذا البرنامج بالاتصال بالإنترنت مع موقع الويب، ويفهم محتوى الصفحة التي يتم الوصول إليها ويفحصها ويعرضها. باختصار، فهو يضمن التفاعل بين المستخدم والخادم المضيف الذي يخدم المستخدم صفحات الويب المطلوبة عن طريق الوصول إلى عنوان URL محدد على بروتوكول HTTP / HTTPS.
يحتوي وكيل المستخدم في الرأس الذي يتم تسليمه إلى الخادم الذي يصل إليه على معلومات تتعلق بالبرنامج الذي يستخدمه المستخدم ونظام التشغيل وإصدار حزمة برامج المتصفح. على سبيل المثال، سيعود وكيل المستخدم لـ Google Chrome إلى الخادم بمعلومات حول إصدار Google Chrome المستخدم ونظام التشغيل الخاص بالمستخدم.
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3163.100 Safari/537.36
رأس وكيل المستخدم أعلاه يعني أن إصدارًا من جوجل كروم 70 على جهاز كمبيوتر مع المعالج ايه ام دي, بنية 64 بت مع نظام التشغيل Windows 10.
ربما سوف تسأل نفسك لماذا تظهر Mozilla كوكيل مستخدم لمتصفح Chrome. يعد هذا نوعًا من الخدعة التي تستخدمها Google (وبواسطة Microsoft في IE) لتسهيل وصول مستخدمي Chrome إلى جميع المواقع المتوافقة مع Mozilla وSafari. AppleWebKit هو محرك تقديم المحتوى.
يمكن لمشرفي المواقع أو مسؤولي خادم الويب منع وصول بعض وكلاء المستخدم في المواقع المستضافة. في معظم الأحيان، يتم فرض هذا القيد روبوتات الويب ((روبوتات الويب) الذين يصلون بشكل عشوائي أو مفرط إلى صفحات الويب الخاصة بموقع ويب ما. ولحسن الحظ، تحتوي هذه الروبوتات على وكيل مستخدم محدد ويمكن اكتشافها بسهولة شديدة في سجلات خادم الويب.
كيفية منع وصول وكيل المستخدم إلى خادم الويب باستخدام NGINX
لنأخذ السيناريو الذي لم نعد نرغب فيه في السماح للمستخدمين الذين يستخدمون أنظمة التشغيل Windows XP ومتصفح الإنترنت Mozilla Firefox 5.0 بالوصول إلى موقع الويب.
نضيف الكود أدناه إلى ملف تكوين nginx، إلى “الخادم” حاجز:
if ($http_user_agent = "Mozilla/5.0 (Windows NT 5.1; rv:52.0) Gecko/20100101 Firefox/52.0"){
return 403;
}
احفظ ملف nginx.conf أو الملف الخاص بموقع ويب، إذا كنت تستخدم تكوينًا مخصصًا (المواقع العامة متاحة)، إذن أعد تشغيل خدمة NGINX.
ستتم إعادة توجيه جميع المستخدمين الذين يستخدمون Firefox 5.0 (بما في ذلك كافة الإصدارات حتى 5.9) على نظام التشغيل Windows XP إلى خطأ 403 (مُحرَّم).
لم أختر هذا المثال بالصدفة. بدءًا من Firefox 52.9.0، توقفت Mozilla عن دعم مستخدمي Windows XP وWindows Vista. أنظمة التشغيل التي توقفت Microsoft عن دعمها في عام 2014، وعلى التوالي في عام 2017 لنظام التشغيل Windows Vista.