جدول المحتويات
قد يهمنا أحيانا حظر زوار دولة كاملة من الدخول إلى موقعنا الالكتروني لأسباب عدة. منها أسباب أمنية أو حدوث هجوم من بوتات معينة تأتي من دولة ما.
سنتعلم اليوم أفضل وأسرع الطرق لحظر زوار دولة ما من الدخول إلى موقعنا الالكتروني.
ذو صلة: أفضل متصفحات إنترنت لفتح المواقع المحجوبة
لماذا قد تحتاج إلى حظر زوار دولة ما؟
قد يبدو حظر زوار دولة بأكملها خطوة قاسية للوهلة الأولى، لكنه في كثير من الأحيان إجراء أمني وتنظيمي ضروري لحماية موقعك الإلكتروني واستقراره.
من أبرز الأسباب التي تدفع أصحاب المواقع لاتخاذ هذه الخطوة هي الارتفاع الملحوظ في حركة المرور الوهمية أو الزيارات الصادرة عن الروبوتات (Bots) والتي لا تقدم أي قيمة حقيقية، بل تؤدي إلى استهلاك موارد الخادم.
والأهم من ذلك، أن تدفق أعداد هائلة من الزيارات الوهمية من دول معينة قد يضلل خوارزميات شبكات الإعلانات مثل Google AdSense، مما ينتج عنه مشاهدات بمعدل أرباح يساوي صفراً، وربما يعرض حسابك لخطر الإيقاف نتيجة الاشتباه بوجود نقرات أو تفاعلات غير صالحة.
لذلك، يصبح الحظر الجغرافي وسيلة فعالة لتصفية الزيارات وتوجيه التركيز نحو الجمهور المستهدف الحقيقي.
إليكم أفضل وأسرع الطرق المتاحة لتنفيذ هذا الحظر مرتبة حسب الأنسب.
اطلع على: أسهل موقع لفتح المواقع المحجوبة مجانا بدون برامج لعام 2026
1. الحظر عبر خدمة Cloudflare
إذا كان موقعك مربوطاً بخدمة Cloudflare (وهي مجانية وتوفر حماية ممتازة)، يمكنك حظر الدولة المستهدفة ببساطة بخطوات قليلة دون الضغط على سيرفر موقعك:
- سجل الدخول إلى لوحة تحكم Cloudflare.
- اختر نطاق موقعك (Domain).
- من القائمة الجانبية، اذهب إلى Security (الأمان). ثم اختر Security Rules.

- في الزاوية العليا اليمنى اضغط على Create rule+ ثم اختر Custom rules.

- في حقل Rule name قم بتسمية القاعدة (مثلاً:
Block Isrealأو Isreal) أو حظر دولة الكيان. - في خانة Field اختر Country.
- في خانة Operator اختر Equals.
- في خانة Value اختر Isreal.

- في خانة Choose action اختر Block (حظر). ولاحظ وجود 5 خيارات ضرورية جدا لأن خيار الحظر يجب أن يكون الخيار الأخير, سنشرحها لاحقا.

- اضغط على Deploy لبدء الحظر.
شرح خيارات الحظر بناء على الموقع الجغرافي للزائر
إليكم شرح خيارات Choose action المتاحة لتحديد الإجراء في كلاود فلير والذي الذي سيتم اتخاذه ضد الزيارات القادمة من الدولة المحددة:
- Block (حظر تام): هذا هو الخيار المطلوب لحالتنا. يقوم بمنع الزائر من الوصول للموقع نهائياً وتظهر له صفحة خطأ تفيد بأن الوصول محظور.
- Managed Challenge (تحدي مُدار): يقوم كلاود فلير بتقييم الزائر تلقائياً؛ إذا كان متصفحاً بشرياً حقيقياً، يدخله بهدوء، وإذا شك في أنه بوت أو محرك بحث مشبوه، يظهر له اختبار تحقق (مثل Captcha خفيف) للتأكد من أنه إنسان.
- Interactive Challenge (تحدي تفاعلي): يجبر أي زائر قادم من هذه الدولة على حل اختبار تحقق مرئي (مثل الضغط على صور أو كود تحقق) قبل السماح له بالدخول للموقع.
- Non-Interactive Challenge (تحدي غير تفاعلي): يقوم بفحص المتصفح وسلوك الزائر في الخلفية دون إزعاج البشر، وإذا رصد أي سلوك آلي يتم حظره مباشرة.
- Skip (تخطي): يُستخدم إذا كانت لديك قواعد عامة تريد استثناء هذه الدولة أو هذا الشرط منها.
إقرأ أيضاً: طريقة تغيير الموقع الجغرافي والـ IP في الآيفون مجاناً وبدون برامج VPN
2. الحظر من خلال ملف .htaccess
هذه الطريقة (إذا كان موقعك يعمل على سيرفر Apache/cPanel)
إذا كنت لا تستخدم Cloudflare وتريد حظر الزيارات عبر سيرفر الاستضافة مباشرة، يمكنك استخدام أكواد تعتمد على رموز الدول (GeoIP).
ملاحظة: تتطلب هذه الطريقة أن تكون مكتبة GeoIP مفعلة على سيرفر الاستضافة الخاص بك.
قم بفتح ملف .htaccess الموجود في المجلد الرئيسي لموقعك وأضف الكود التالي:
Apache
<IfModule mod_geoip.c>
SetEnvIf GEOIP_COUNTRY_CODE SG BlockCountry
Deny from env=BlockCountry
</IfModule>
طبعا استبدل الرمز SG والذي يمثل سنغافورة في مثالنا برمز الدولة التي تريد حظرها.
3. حظر زوار دولة من موقعي على ووردبرس
إذا كان موقعك مصمماً بـ WordPress، يمكنك استخدام إضافات مخصصة لإدارة الأمان أو الحظر الجغرافي بسهولة من لوحة التحكم:
- قم بتثبيت إحدى الإضافتين iThemes Security أو Wordfence Security: تحتوي هذه الإضافات على ميزات حظر الجغرافي بناء على IP الدولة التي تأتي منها الزيارات (Country Blocking).
وهناك إضافات مخصصة للحظر مثل IP Geo Blog أو Country Blocker.
حظر زوار دولة ما من خلال كود PHP
للحظر باستخدام PHP والاعتماد على مكتبات مجانية لتحديد الدولة عبر عنوان الـ IP الخاص بالزائر، يمكنك استخدام مكتبات MaxMind GeoLite2 المجانية (تتطلب تحميل قاعدة بيانات بصيغة .mmdb)، أو الاعتماد على واجهات برمجية (APIs) مجانية جاهزة وخفيفة لا تتطلب تخزين ملفات ضخمة على السيرفر.
إليك الطريقة الأسهل والأسرع لحظر زوار دولة ما باستخدام API مجاني (مثل ipapi أو ip-api) يحدد الدولة مباشرة بناءً على الـ IP دون الحاجة لتحميل قواعد بيانات ثقيلة.
هذا هو كود PHP لحظر زوار الدولة ولكن طبعا استبدل الرمز SG برمز الدولة التي تريد حظرها. (ولكن أين تضع الكود؟ تابع معنا)
<?php // دالة لجلب عنوان الـ IP الحقيقي للزائر function get_client_ip() { $ipaddress = ''; if (isset($_SERVER['HTTP_CLIENT_IP'])) $ipaddress = $_SERVER['HTTP_CLIENT_IP']; else if(isset($_SERVER['HTTP_X_FORWARDED_FOR'])) $ipaddress = $_SERVER['HTTP_X_FORWARDED_FOR']; else if(isset($_SERVER['HTTP_X_FORWARDED'])) $ipaddress = $_SERVER['HTTP_X_FORWARDED']; else if(isset($_SERVER['HTTP_FORWARDED_FOR'])) $ipaddress = $_SERVER['HTTP_FORWARDED_FOR']; else if(isset($_SERVER['HTTP_FORWARDED'])) $ipaddress = $_SERVER['HTTP_FORWARDED']; else if(isset($_SERVER['REMOTE_ADDR'])) $ipaddress = $_SERVER['REMOTE_ADDR']; else $ipaddress = 'UNKNOWN'; return $ipaddress; } $visitor_ip = get_client_ip(); // استثناء الـ localhost أو الآي بي المحلي أثناء التجربة if ($visitor_ip != '127.0.0.1' && $visitor_ip != '::1') { // استخدام خدمة مجانية لجلب معلومات الدولة (مثلاً ip-api) $response = @file_get_contents("http://ip-api.com/json/{$visitor_ip}?fields=status,countryCode"); if ($response) { $data = json_decode($response, true); if (isset($data['status']) && $data['status'] == 'success') { $country_code = $data['countryCode']; // إذا كانت الدولة هي سنغافورة (رمزها SG) قم بحظرها if ($country_code === 'SG') { header("HTTP/1.1 403 Forbidden"); echo "Access Denied: You are not allowed to view this site."; exit(); } } } } ?>
لمواقع ووردبرس
إن كنت تمتلك ووردبرس: يمكنك وضع هذا الكود في أول ملف الهيدر الأساسي لموقعك (مثل header.php أو ملف البداية الرئيسي).
للمواقع العامة (ووردبرس وغيره)
أنشئ ملفاً سمه مثلاً block_sg.php وضع فيه الكود السابق. ولديك خياران لضمان تنفيذ الكود على جميع صفحات الموقع:
الخيار الأول: إذا كان موقعك يعمل على سيرفر Apache، يمكنك جعل السيرفر ينفذ هذا الملف تلقائياً في خلفية كل صفحة PHP يتم طلبها دون الحاجة لتعديل أي ملف برمجي أساسي. أضف السطر التالي إلى ملف .htaccess في جذر الموقع:
php_value auto_prepend_file "/path/to/your/block_sg.php"
(ملاحظة: استبدل المسار أعلاه بالمسار الحقيقي الكامل للملف على السيرفر).
الخيار الثاني: اذا كان موقعك يعتمد على ملف إدخال رئيسي واحد تمر من خلاله جميع الطلبات (مثل index.php أو ملف إعدادات عام يتم استدعاؤه في أول كل صفحة)، يكفي وضع سطر واحد فقط في بدايته:
include_once 'block_sg.php';
هذه الطرق تجعل عملية الحظر مركزية بالكامل وخارج ملفات التصميم أو الهيدر.
قد يهمك: معرفة عنوان IP Address











