Skip to content
KitploitKITPLOIT
أدواتالمدونة
إرسال
أدواتالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

··الخلاصات·اتصال·الخصوصية·© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
أدوات/GitHubGitHub/mitchellkrogza/nginx-ultimate-bad-bot-blocker
أدوات دفاعيةأمن الويبأمن الشبكاتمكافحة الروبوتات
GitHubmitchellkrogza/nginx-ultimate-bad-bot-blocker

nginx-ultimate-bad-bot-blocker

حجب Nginx للروبوتات الضارة، وحاجب الإحالات المزعجة، وماسحات الثغرات الأمنية، ووكلاء المستخدم، والبرمجيات الخبيثة، والبرمجيات الإعلانية، وبرمجيات الفدية، والمواقع الخبيثة، مع حماية من هجمات DDOS، وحظر كاشف قوالب ووردبريس، وسجن Fail2Ban للمخالفين المتكررين

عرض المستودع

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
مشاركة
4.8k522منذ يوم واحدتمت المراجعة من قبل Kitploit
Nginx Ultimate Bad Bot Spam Referrer Blocker - Nginx Block Bad Bots, Vulnerability Scanners, Malware and Adware, Malicious Sites, Spam Referrers, Bad Referrers, Spam Blocker with DDOS, Wordpress Theme Detector Blocking and Fail2Ban Jail for Repeat Offenders
المستودعكن راعيًا
DUBسيظهر شعارك ورابط موقعك هنا إذا أصبحت راعيًا. فقط أرسل لي بريدًا إلكترونيًا على [email protected] إذا كنت ترغب في رعاية هذا المشروع، لأن جنوب إفريقيا غير مدعومة بعد في برنامج الرعاة على Github.
Follow @ArchIsTheBestساعدني في الدعم عبر https://ko-fi.com/mitchellkrog

حاجز Nginx للبوتات الضارة ووكلاء المستخدم، وحاجز مرسلي السبام، ومكافحة DDOS، وحاجز عناوين IP الضارة، وكاشف سمات ووردبريس

الحاجز النهائي لـ Nginx للبوتات الضارة ووكلاء المستخدم ومرسلي السبام، وحاجز البرمجيات الإعلانية والضارة وبرامج الفدية، وحاجز اختطاف النقرات، وحاجز إعادة توجيه النقرات، وحاجز شركات SEO وعناوين IP الضارة، مع نظام مكافحة DDOS، وتحديد معدل Nginx، وحظر كاشف سمات ووردبريس. أوقف واحظر جميع أنواع حركة المرور الضارة على الإنترنت، حتى بوتات جوجل المزيفة، من الوصول إلى مواقعك على الإطلاق. يرجى الاطلاع: تعريف البوتات الضارة

الإصدار: V4.2026.08.6110

المُحيلون الضارون المحظورون: 7116

وكلاء المستخدم الضارون (البوتات) المحظورون: 699

بوتات جوجل المزيفة المحظورة: 218


ساعد في دعم هذا المشروع

Buy me Coffee


  • أُنشئ بواسطة: Mitchell Krog للاستخدام على خادم Nginx
  • حقوق النشر Mitchell Krog [email protected]

تم الاختبار على:
إصدار nginx: nginx/1.10.x -> النسخة الرئيسية ✔️

لا تستخدم Nginx؟ اطّلع على Get the APACHE ULTIMATE BAD BOT BLOCKER

يرجى التأكد من اشتراكك في إشعارات Github ليتم إعلامك عند تحديث الحاجز أو عند حدوث أي تغييرات مهمة أو حرجة للمهمة (قد تسبب انقطاعًا) قد تحدث.


تعليمات الإعداد التلقائي السهل لحاجز البوتات الضارة لـ Nginx

يرجى اتباع التعليمات أدناه خطوة بخطوة ❗

  • هذه هي طريقتنا الجديدة المفضلة للتثبيت، والتي تتم الآن من خلال مجموعة من سكربتات شل مقدمة إلى هذا المستودع ويحافظ عليها Stuart Cardall @itoffshore، أحد القائمين على حزم Alpine Linux.

  • التعليمات أدناه لعملية تثبيت سريعة وخالية من المتاعب، والتي تقوم بتنزيل جميع الملفات المطلوبة للحاجز، وتتضمن السكربتات إضافة التضمينات المطلوبة إلى ملفات nginx.conf و nginx .vhost الخاصة بك. يفترض سكربت الإعداد أن ملفات إعداد vhost موجودة في /etc/nginx/sites-available/ وأن كل ملف إعداد vhost ينتهي بامتداد ملف .vhost

  • للحصول على تعليمات التثبيت اليدوي، يرجى الاطلاع على - يرجى الاطلاع على: https://github.com/mitchellkrogza/nginx-ultimate-bad-bot-blocker/blob/master/MANUAL-CONFIGURATION.md

  • يمكن ضبط setup-ngxblocker وinstall-ngxblocker وupdate-ngxblocker جميعها مع مواقع تثبيت / تحديث مخصصة من سطر الأوامر. (انظر الخطوة 11 من التعليمات لمعرفة كيفية استخدام هذه السكربتات ومواقع Nginx غير القياسية)

  • شغّل أيًا من سكربتات الإعداد أو التثبيت أو التحديث مع --help أو -h لعرض الخيارات.

يرجى ملاحظة: لمن يستخدمون شهادات Let's Encrypt SSL، الطريقة المفضلة والمضمونة 100% هي استخدام طريقة Webroot Authenticator. يبدو أن هناك بعض المشاكل لدى الأشخاص الذين يستخدمون طريقة تحدي http، لكننا نؤكد أن webroot يعمل بدون أخطاء. لسنا متأكدين في هذه المرحلة ما إذا كانت طريقة تحدي http-01 عبارة عن خلل في certbot أو nginx.

[WARN] رسائل الشبكة المكررة من NGINX

يرجى قراءة هذا

تقارير الشبكة المكررة من Nginx ليست خللًا ولا يمكن إصلاحها، فهذا هو السلوك المرغوب للحاجز. تؤدي التحديثات اليومية للقوائم السوداء لعناوين IP إلى إدراج بعض عناوين IP والنطاقات المعروفة في القائمة السوداء old value "1"، ثم يتم إدراجها في القائمة البيضاء في نهاية globalblocklist تمامًا، وهو ترتيب التحميل الذي يضبط عناوين IP التي نعرف أنها جيدة على value "0" الجديد مما يضعها في القائمة البيضاء. لقد كان الأمر على هذا النحو منذ اليوم الأول للحاجز وسيبقى كذلك. هذه مجرد رسائل [WARN] بسيطة وليست رسائل [EMERG]، وهي لا تؤثر على تشغيل Nginx بأي شكل من الأشكال.


لينكس

قم بتنزيل install-ngxblocker إلى دليل /usr/local/sbin/ واجعل السكربت قابلاً للتنفيذ.```sh sudo wget https://raw.githubusercontent.com/mitchellkrogza/nginx-ultimate-bad-bot-blocker/master/install-ngxblocker -O /usr/local/sbin/install-ngxblocker sudo chmod +x /usr/local/sbin/install-ngxblocker

root@kitploit:~
إذا كانت توزيعة لينكس لديك لا تحتوي على wget، يمكنك استبدال أمر wget أعلاه باستخدام curl كما يلي:```sh
curl -sL https://raw.githubusercontent.com/mitchellkrogza/nginx-ultimate-bad-bot-blocker/master/install-ngxblocker -o /usr/local/sbin/install-ngxblocker
FreeBSD

قم بتثبيت الحزمة.```sh pkg install www/nginx-ultimate-bad-bot-blocker

root@kitploit:~
بدلاً من ذلك، قم بالتثبيت عبر portmaster:```sh
portmaster www/nginx-ultimate-bad-bot-blocker

الآن قم بتشغيل سكربت install-ngxblocker في وضع DRY-MODE والذي سيعرض لك التغييرات التي سيجريها والملفات التي سينزّلها لك. هذه مجرد محاولة DRY-RUN، لذا لا يتم إجراء أي تغييرات بعد.

يقوم install-ngxblocker بتنزيل جميع الملفات المطلوبة بما في ذلك سكربتات الإعداد والتحديث.```sh cd /usr/local/sbin sudo ./install-ngxblocker

root@kitploit:~
سيعرض لك الناتج التالي للتغييرات التي سيتم إجراؤها 
**(ملاحظة: هذه مجرد عملية DRY-RUN ولم يتم إجراء أي تغييرات)**```text
Checking url: https://raw.githubusercontent.com/mitchellkrogza/nginx-ultimate-bad-bot-blocker/master/include_filelist.txt

** Dry Run ** | not updating files | run  as 'install-ngxblocker -x' to install files.

Creating directory: /etc/nginx/bots.d

REPO = https://raw.githubusercontent.com/mitchellkrogza/nginx-ultimate-bad-bot-blocker/master

Downloading [FROM]=>  [REPO]/conf.d/globalblacklist.conf            [TO]=>  /etc/nginx/conf.d/globalblacklist.conf
Downloading [FROM]=>  [REPO]/conf.d/botblocker-nginx-settings.conf  [TO]=>  /etc/nginx/conf.d/botblocker-nginx-settings.conf

REPO = https://raw.githubusercontent.com/mitchellkrogza/nginx-ultimate-bad-bot-blocker/master

Downloading [FROM]=>  [REPO]/bots.d/blockbots.conf              [TO]=>  /etc/nginx/bots.d/blockbots.conf
Downloading [FROM]=>  [REPO]/bots.d/ddos.conf                   [TO]=>  /etc/nginx/bots.d/ddos.conf
Downloading [FROM]=>  [REPO]/bots.d/whitelist-ips.conf          [TO]=>  /etc/nginx/bots.d/whitelist-ips.conf
Downloading [FROM]=>  [REPO]/bots.d/whitelist-domains.conf      [TO]=>  /etc/nginx/bots.d/whitelist-domains.conf
Downloading [FROM]=>  [REPO]/bots.d/blacklist-user-agents.conf  [TO]=>  /etc/nginx/bots.d/blacklist-user-agents.conf
Downloading [FROM]=>  [REPO]/bots.d/blacklist-ips.conf          [TO]=>  /etc/nginx/bots.d/blacklist-ips.conf
Downloading [FROM]=>  [REPO]/bots.d/bad-referrer-words.conf     [TO]=>  /etc/nginx/bots.d/bad-referrer-words.conf
Downloading [FROM]=>  [REPO]/bots.d/custom-bad-referrers.conf   [TO]=>  /etc/nginx/bots.d/custom-bad-referrers.conf

REPO = https://raw.githubusercontent.com/mitchellkrogza/nginx-ultimate-bad-bot-blocker/master

Downloading [FROM]=>  [REPO]/setup-ngxblocker      [TO]=>  /usr/local/sbin/setup-ngxblocker
Downloading [FROM]=>  [REPO]/update-ngxblocker     [TO]=>  /usr/local/sbin/update-ngxblocker

يمكن تكوين setup-ngxblocker و install-ngxblocker و update-ngxblocker جميعها بمواقع تثبيت / تحديث مخصصة من سطر الأوامر.

قم بتشغيل أي من نصوص setup أو install أو update مع خيار --help أو -h لعرض الخيارات.


الآن قم بتشغيل سكربت التثبيت مع المعامل -x لتنزيل جميع الملفات الضرورية من المستودع:```sh cd /usr/local/sbin/ sudo ./install-ngxblocker -x

root@kitploit:~
سيمنحك هذا الناتج التالي:```text
Checking url: https://raw.githubusercontent.com/mitchellkrogza/nginx-ultimate-bad-bot-blocker/master/include_filelist.txt

Creating directory: /etc/nginx/bots.d

REPO = https://raw.githubusercontent.com/mitchellkrogza/nginx-ultimate-bad-bot-blocker/master

Downloading [FROM]=>  [REPO]/conf.d/globalblacklist.conf            [TO]=>  /etc/nginx/conf.d/globalblacklist.conf...OK
Downloading [FROM]=>  [REPO]/conf.d/botblocker-nginx-settings.conf  [TO]=>  /etc/nginx/conf.d/botblocker-nginx-settings.conf...OK

REPO = https://raw.githubusercontent.com/mitchellkrogza/nginx-ultimate-bad-bot-blocker/master

Downloading [FROM]=>  [REPO]/bots.d/blockbots.conf              [TO]=>  /etc/nginx/bots.d/blockbots.conf...OK
Downloading [FROM]=>  [REPO]/bots.d/ddos.conf                   [TO]=>  /etc/nginx/bots.d/ddos.conf...OK
Downloading [FROM]=>  [REPO]/bots.d/whitelist-ips.conf          [TO]=>  /etc/nginx/bots.d/whitelist-ips.conf...OK
Downloading [FROM]=>  [REPO]/bots.d/whitelist-domains.conf      [TO]=>  /etc/nginx/bots.d/whitelist-domains.conf...OK
Downloading [FROM]=>  [REPO]/bots.d/blacklist-user-agents.conf  [TO]=>  /etc/nginx/bots.d/blacklist-user-agents.conf...OK
Downloading [FROM]=>  [REPO]/bots.d/blacklist-ips.conf          [TO]=>  /etc/nginx/bots.d/blacklist-ips.conf...OK
Downloading [FROM]=>  [REPO]/bots.d/bad-referrer-words.conf     [TO]=>  /etc/nginx/bots.d/bad-referrer-words.conf...OK
Downloading [FROM]=>  [REPO]/bots.d/custom-bad-referrers.conf   [TO]=>  /etc/nginx/bots.d/custom-bad-referrers.conf...OK

REPO = https://raw.githubusercontent.com/mitchellkrogza/nginx-ultimate-bad-bot-blocker/master

Downloading [FROM]=>  [REPO]/setup-ngxblocker      [TO]=>  /usr/local/sbin/setup-ngxblocker...OK
Downloading [FROM]=>  [REPO]/update-ngxblocker     [TO]=>  /usr/local/sbin/update-ngxblocker...OK

تم الآن تنزيل جميع الملفات المطلوبة إلى المجلدات الصحيحة على Nginx مباشرةً من المستودع.

تأكد من جعل نصوص setup وupdate الخاصة بك قابلة للتنفيذ عن طريق تشغيل الأمرين التاليين. هذا مهم قبل المتابعة مع الخطوة 4 وما بعدها.```sh sudo chmod +x /usr/local/sbin/setup-ngxblocker sudo chmod +x /usr/local/sbin/update-ngxblocker

root@kitploit:~
**يمكن تكوين كل من setup-ngxblocker وinstall-ngxblocker وupdate-ngxblocker بمواقع تثبيت / تحديث مخصصة من سطر الأوامر.**

**شغّل أيًا من نصوص setup أو install أو update مع --help أو -h لعرض الخيارات.**

************************************************
<img src="https://raw.githubusercontent.com/mitchellkrogza/nginx-ultimate-bad-bot-blocker/master/.assets/step-4.png"/>

الآن شغّل نصوص setup-ngxblocker في وضع DRY-MODE، والذي سيعرض لك التغييرات التي سيجريها والملفات التي سينزّلها لك. هذه مجرد محاولة تجريبية DRY-RUN، لذا لا يتم إجراء أي تغييرات بعد.```sh
cd /usr/local/sbin/
sudo ./setup-ngxblocker

سيعطيك هذا مخرجات كما يلي (يفترض هذا الإخراج أدناه أن ملف nginx.conf لديك يحتوي بالفعل على التضمين الافتراضي لـ /etc/nginx/conf.d/*) جميع تثبيتات Nginx التي أعرفها تحتوي على هذا التضمين الافتراضي في ملف nginx.conf الموزع مع جميع الإصدارات.```text Checking url: https://raw.githubusercontent.com/mitchellkrogza/nginx-ultimate-bad-bot-blocker/master/include_filelist.txt

** Dry Run ** | not updating files | run as 'setup-ngxblocker -x' to setup files.

INFO: /etc/nginx/conf.d/* detected => /etc/nginx/nginx.conf inserting: include /etc/nginx/bots.d/blockbots.conf; => /etc/nginx/sites-available/mydomain2.com.vhost inserting: include /etc/nginx/bots.d/ddos.conf; => /etc/nginx/sites-available/mydomain2.com.vhost inserting: include /etc/nginx/bots.d/blockbots.conf; => /etc/nginx/sites-available/mydomain1.com.vhost inserting: include /etc/nginx/bots.d/ddos.conf; => /etc/nginx/sites-available/mydomain1.com.vhost

Whitelisting ip: x.x.x.x => /etc/nginx/bots.d/whitelist-ips.conf

root@kitploit:~
هذا السكربت يقوم أيضًا بإضافة عنوان IP الخاص بك إلى القائمة البيضاء في ملف whitelist-ips.conf نيابةً عنك. 
يمكن إضافة المزيد من عناوين IP أو نطاقات IP إلى ملف whitelits-ips.conf القابل للتخصيص والموجود في /etc/nginx/bots.d/whitelist-ips.conf.

**يمكن تهيئة كل من setup-ngxblocker وinstall-ngxblocker وupdate-ngxblocker بمواقع تثبيت/تحديث مخصصة من سطر الأوامر.**

**قم بتشغيل أي من سكربتات الإعداد أو التثبيت أو التحديث مع --help أو -h لعرض الخيارات.**


************************************************
<img src="https://raw.githubusercontent.com/mitchellkrogza/nginx-ultimate-bad-bot-blocker/master/.assets/step-5.png"/>

الآن قم بتشغيل سكربت الإعداد مع المعامل -x لإجراء جميع التغييرات الضرورية على ملف nginx.conf (إذا لزم الأمر) وكذلك لإضافة التضمينات المطلوبة إلى جميع ملفات vhost الخاصة بك.

يفترض سكربت setup-ngxblocker هذا أن جميع ملفات vhost الموجودة في /etc/nginx/sites-available تنتهي بامتداد .vhost. من الممارسات الجيدة جعل جميع ملفات إعداد vhost تنتهي بامتداد .vhost، ولكن إذا كنت تفضل الالتزام بما لديك بالفعل، مثل .conf، فيمكنك ببساطة تعديل تشغيل setup-ngxblocker باستخدام المعامل `-e` لتحديد الامتداد الذي تستخدمه لملفات vhost الخاصة بك.

على سبيل المثال، إذا كانت ملفات vhost لديك تنتهي بـ .conf، فستغيّر ذلك بتنفيذ setup-ngxblocker مع معامل إضافي في سطر الأوامر كما يلي:

`sudo ./setup-ngxblocker -x -e conf`

إذن الآن دعنا نشغّل سكربت الإعداد ونتركه يقوم بجميع التغييرات التي نحتاجها لجعل Bot Blocker نشطًا على جميع مواقعك.```sh
cd /usr/local/sbin/
sudo ./setup-ngxblocker -x

سترى المخرجات كما يلي:```text Checking url: https://raw.githubusercontent.com/mitchellkrogza/nginx-ultimate-bad-bot-blocker/master/include_filelist.txt

INFO: /etc/nginx/conf.d/* detected => /etc/nginx/nginx.conf inserting: include /etc/nginx/bots.d/blockbots.conf; => /etc/nginx/sites-available/mydomain2.com.vhost inserting: include /etc/nginx/bots.d/ddos.conf; => /etc/nginx/sites-available/mydomain2.com.vhost inserting: include /etc/nginx/bots.d/blockbots.conf; => /etc/nginx/sites-available/mydomain1.com.vhost inserting: include /etc/nginx/bots.d/ddos.conf; => /etc/nginx/sites-available/mydomain1.com.vhost

Whitelisting ip: x.x.x.x => /etc/nginx/bots.d/whitelist-ips.conf

root@kitploit:~
ستلاحظ أنه قام بتضمين ملفات include في جميع ملفات .vhost على خادم الاختبار الخاص بي، كما قام أيضًا بإدراج عنوان IP الخاص بك في القائمة البيضاء في ملف whitelist-ips.conf من أجلك. يمكن إضافة المزيد من عناوين IP أو نطاقات IP إلى ملف whitelist-ips.conf القابل للتخصيص والموجود في /etc/nginx/bots.d/whitelist-ips.conf.

ما فعله هذا السكربت هو ببساطة إضافة عبارات include التالية إلى ملفات .vhost الخاصة بك، كما أنه يضيف /etc/nginx/conf.d/* إلى التضمينات في nginx.conf (إذا لم يكن موجودًا بالفعل في nginx.conf)، وإلا سيفشل السكربت بالكامل.```nginx
# Bad Bot Blocker
include /etc/nginx/bots.d/ddos.conf;
include /etc/nginx/bots.d/blockbots.conf;

يمكن ضبط كل من setup-ngxblocker وinstall-ngxblocker وupdate-ngxblocker بمواقع تثبيت/تحديث مخصصة من خلال سطر الأوامر.

شغّل أيًا من سكربتات setup أو install أو update باستخدام --help أو -h لعرض الخيارات.


الآن اختبر تكوين nginx

sudo nginx -t

ويجب أن ترى```text nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful

root@kitploit:~
************************************************
<img src="https://raw.githubusercontent.com/mitchellkrogza/nginx-ultimate-bad-bot-blocker/master/.assets/step-7.png"/>

الآن فقط أعد تحميل / أعد تشغيل Nginx وسيكون Bot Blocker نشطًا فورًا ويحمي جميع مواقعك على الويب.

`sudo nginx -t && sudo nginx -s reload`

أو

`sudo service nginx restart`

هذا كل شيء، أصبح الحاجز نشطًا الآن ويحمي مواقعك من آلاف الروبوتات الخبيثة والنطاقات.

************************************************
<img src="https://raw.githubusercontent.com/mitchellkrogza/nginx-ultimate-bad-bot-blocker/master/.assets/step-8.png"/>

الآن قم بإعداد cron لتحديث الحاجز تلقائيًا كل يوم لتحصل دائمًا على أحدث حماية محدثة.

`sudo crontab -e`

أضف السطر التالي في نهاية ملف crontab الخاص بك. لاحظ إضافة معلمة سطر الأوامر `-e` لتحديد عنوان بريدك الإلكتروني حيث يتم إرسال تقرير التحديث. من الواضح استبدل `[email protected]` بعنوان بريدك الإلكتروني الحقيقي وإلا فلن تستلم البريد الإلكتروني عندما يتم تحديث السكريبت.

`00 22 * * * sudo /usr/local/sbin/update-ngxblocker -e [email protected]` 

سيقوم هذا بتحديث الحاجز لك كل ليلة في الساعة 10 مساءً.

إذا كنت تريد تحديثه بشكل متكرر (فأحيانًا أطلق 3-4 تحديثات في اليوم) يمكنك ضبطه كما يلي لتشغيل cron كل 8 ساعات، على الرغم من أن مرة واحدة يوميًا أكثر من كافية.

`00 */8 * * * sudo /usr/local/sbin/update-ngxblocker -e [email protected]`       

إذا كنت لا تريد أي إشعار بريد إلكتروني بعد التحديث (وهو أمر غير مستحسن في حال حدوث خطأ EMERG في Nginx عند إعادة التحميل)، فما عليك سوى تشغيل cron الخاص بك كما يلي.

`00 */8 * * * sudo /usr/local/sbin/update-ngxblocker -n`       

إذا كنت تفضل إرسال البريد الإلكتروني عبر <a href="https://www.mailgun.com/">mailgun</a> فقم بتشغيل cron الخاص بك على النحو التالي:

`00 22 * * * sudo /usr/local/sbin/update-ngxblocker -g [email protected] -d yourdomain.com -a mailgun api key -f [email protected]`

هذا كل شيء، سيقوم الحاجز تلقائيًا بتحديث نفسه وإعادة تحميل Nginx بمجرد تنزيل أحدث إصدار من ملف globalblacklist.conf.

************************************************
<img src="https://raw.githubusercontent.com/mitchellkrogza/nginx-ultimate-bad-bot-blocker/master/.assets/step-9.png"/>

يمكنك الآن تخصيص أي من الملفات التالية أدناه لتناسب بيئتك أو متطلباتك. هذه الملفات لا يتم تعديلها أبدًا أثناء التحديث باستخدام سكريبت التحديث التلقائي أعلاه، لذا أي تخصيصات تقوم بها هنا لن يتم الكتابة فوقها أبدًا أثناء التحديث.```text
/etc/nginx/bots.d/whitelist-ips.conf
/etc/nginx/bots.d/whitelist-domains.conf
/etc/nginx/bots.d/blockbots.conf
/etc/nginx/bots.d/blacklist-domains.conf
/etc/nginx/bots.d/blacklist-user-agents.conf
/etc/nginx/bots.d/blacklist-ips.conf
/etc/nginx/bots.d/bad-referrer-words.conf
/etc/nginx/bots.d/custom-bad-referrers.conf
/etc/nginx/bots.d/ddos.conf

لنفترض أنك لسببٍ ما "غامض" تريد بالفعل حظر GoogleBot من الوصول إلى موقعك. يمكنك ببساطة إضافته إلى ملف /etc/nginx/bots.d/blacklist-user-agents.conf وسيتجاوز القائمة البيضاء الافتراضية لـ GoogleBot. وينطبق الأمر نفسه على أي بوتات أخرى مبيّضة افتراضيًا.

جميع ملفات التضمين موثّقة (معلّق عليها) لتسهيل الأمر عليك.


إذا كان هذا المشروع قد ساعدك، فادعمه

اشترِ لي قهوة


(اختبر أنه يعمل)

الاختبار

قم بتشغيل الأوامر التالية واحدًا تلو الآخر من جهاز طرفي على جهاز Linux آخر موجّهًا إلى اسم النطاق الخاص بك.

❗ استبدل http://yourdomain.com ❗ في الأمثلة أدناه باسم النطاق الحقيقي الخاص بك ❗

curl -A "Mozilla/5.0 (Linux; Android 6.0.1; Nexus 5X Build/MMB29P) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.96 Mobile Safari/537.36 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)" -I http://yourdomain.com

curl -A "Mozilla/5.0 (compatible; bingbot/2.0; +http://www.bing.com/bingbot.htm)" -I http://yourdomain.com

يجب أن يستجيب بـ 200 OK

curl -A "Xenu Link Sleuth/1.3.8" -I http://yourdomain.com

curl -A "Mozilla/5.0 (compatible; AhrefsBot/5.2; +http://ahrefs.com/robot/)" -I http://yourdomain.com

يجب أن يستجيب بإحدى رسائل الخطأ التالية:

  • curl: (52) Empty reply from server
  • curl: (56) TCP connection reset by peer
  • curl: (92) HTTP/2 stream 0 was not closed cleanly: PROTOCOL_ERROR (err 1)

curl -I http://yourdomain.com -e http://100dollars-seo.com

curl -I http://yourdomain.com -e http://zx6.ru

يجب أن يستجيب بإحدى رسائل الخطأ التالية:

  • curl: (52) Empty reply from server
  • curl: (56) TCP connection reset by peer
  • curl: (92) HTTP/2 stream 0 was not closed cleanly: PROTOCOL_ERROR (err 1)

أصبح Nginx Ultimate Bot Blocker الآن يعمل ويحمي مواقعك الإلكترونية !!!

❗ استبدل http://yourdomain.com ❗ في الأمثلة أدناه باسم النطاق الحقيقي الخاص بك ❗

ملاحظة لمستخدمي Cloudflare !!!

إذا كنت مستخدمًا لـ Cloudflare وتستخدم نظام CDN / التخزين المؤقت من Cloudflare، فيجب عليك دائمًا تعطيل Cloudflare CDN (ضبط السحابة الرمادية)

أثناء الاختبار ستحصل على رموز الاستجابة الصحيحة كما يلي:

  • curl: (52) Empty reply from server
  • curl: (56) TCP connection reset by peer
  • curl: (92) HTTP/2 stream 0 was not closed cleanly: PROTOCOL_ERROR (err 1)

هذا مقصود. فـ CDN يقوم بعمله، أي أن الاستجابة الأولى من خادمك قالت للبوت "ارحل" عبر إصدارها رموز 444 أو 443.

يقوم Cloudflare بتخزين تلك الاستجابة مؤقتًا، وبالتالي في المرة الثانية التي تختبر فيها ستحصل على رسالة خطأ 520 Origin Error.

أثناء اختبار الحاجز، قم بتعطيل نظام CDN / التخزين المؤقت، وبمجرد أن ترضى عن اختباراتك، أعد تفعيل CDN / التخزين المؤقت في بيئتك المباشرة، فأنت تريد أن يحصل البوتات على تلك الاستجابة من Cloudflare.

معظم أنظمة CDN الأخرى ستظهر على الأرجح السلوك نفسه، لذا قم دائمًا بتعطيل CDN أثناء الاختبار لاستبعاد أي شيء قد يتداخل مع اختبارك. وتأكد دائمًا من إعادة تفعيل CDN عند الانتهاء من الاختبار !!

بمجرد تفعيل Cloudflare CDN، اختبر مرة أخرى.

أثناء الاختبار، قد تحصل على:

  • curl: 520 Origin Error

هذا يعني أن CDN يعمل.


اختياري

تثبيت الحاجز في مواقع مجلدات NGINX غير القياسية

بعض الأشخاص يبنون Nginx بأنفسهم ولا يحصلون في النهاية على مواقع مجلدات nginx القياسية في /etc/nginx

لمستخدمين مثل هؤلاء، يمكنك تشغيل install-ngxblocker و setup-ngxblocker و update-ngxblocker مع تحديد موقع المجلد الخاص بك في سطر الأوامر كما يلي.

sudo ./install-ngxblocker -x -c /usr/local/nginx/conf.d -b /usr/local/nginx/bots.d

sudo ./setup-ngxblocker -x -c /usr/local/nginx/conf.d -b /usr/local/nginx/bots.d

sudo ./update-ngxblocker -c /usr/local/nginx/conf.d -b /usr/local/nginx/bots.d -e [email protected]

سيؤدي هذا تلقائيًا إلى وضع الملفات في المواقع التي تحددها، وسيقوم بعمل التضمينات داخل vhosts الخاصة بك باستخدام المواقع المخصصة لديك، وعندما يسحب update-ngxblocker تحديثًا جديدًا، سيعيد أيضًا كتابة أقسام "Include" داخل ملف globalblacklist.conf تلقائيًا إلى مواقعك المخصصة. شكرًا مرة أخرى لـ Stuart Cardall @itoffshore على مساهماته في هذه البرامج النصية الممتازة.


[WARN] رسائل الشبكة المكررة من NGINX

الرجاء قراءة هذا

تقارير الشبكة المكررة من Nginx ليست خطأ ولا يمكن إصلاحها، فهذا هو السلوك المطلوب من الحاجز. التحديثات اليومية للقوائم السوداء للـ IP تتسبب في إدراج بعض عناوين ونطاقات IP المعروفة في القائمة السوداء old value "1" ثم يتم إدراجها في القائمة البيضاء في نهاية globalblocklist وهذا هو ترتيب التحميل الذي يضبط الـ IP التي نعرف أنها جيدة إلى value "0" الجديد مما يضعها في القائمة البيضاء. هكذا كان الأمر منذ اليوم الأول للحاجز وسيبقى كذلك. هذه مجرد رسائل [WARN] وليست رسائل [EMERG] ولا تؤثر على تشغيل Nginx بأي شكل من الأشكال.


لماذا نحظر البوتات السيئة ؟

تعريف البوتات السيئة

البوتات السيئة هي:
  • الإحالات السيئة (Bad Referrers)
  • سلاسل User-Agent السيئة
  • الإحالات المزعجة (Spam Referrers)
  • بوتات السبام والبوتات الخبيثة
  • البوتات المزعجة أو غير المرغوب فيها
  • المواقع المرتبطة بحملات Clickjacking المربحة للبرامج الضارة و Adware و Ransomware
  • ماسحات الثغرات
  • مواقع القمار والمواقع الإباحية
  • جامعو البريد الإلكتروني
  • كاشطات المحتوى
  • بوتات ترتيب الروابط
  • بوتات عدوانية تكشط المحتوى
  • مواقع ربط الصور وسارقو الصور
  • بوتات أو خوادم مرتبطة بفيروسات أو برامج ضارة
  • بوتات المراقبة الحكومية
  • شبكات هجمات Botnet (Mirai)
  • كاشفات قوالب ووردبريس المعروفة (تُحدَّث بانتظام)
  • شركات SEO التي يستخدمها منافسوك لمحاولة تحسين تصنيفهم
  • أدوات أبحاث الروابط واختبار الروابط الخلفية
  • إيقاف Google Analytics Ghost Spam
  • برامج Adware و Malware في المتصفح (Yontoo إلخ)

(أكثر من 4000 إحالة سيئة، وإحالات سبام، وUser-Agent، وبوتات سيئة، وعناوين IP سيئة، ومواقع إباحية وقمار وClickjacking، وشركات SEO مربحة، وكاشفات قوالب ووردبريس، والعدد في ازدياد)

  • يتضمن إنشاء ملف google-exclude.txt لإنشاء فلاتر / شرائح في Google Analytics (انظر التعليمات أدناه)
  • يتضمن إنشاء ملف google-disavow.txt لاستخدامه في Google Webmaster Tools (انظر التعليمات أدناه)
  • شاهد مثال إعداد Nginx SSL Vhost في: https://github.com/mitchellkrogza/nginx-ultimate-bad-bot-blocker/blob/master/NGINX-SSL-Site-Config-Example.md

ساعد في دعم هذا المشروع

آلاف الساعات من البرمجة والاختبار ذهبت في هذا المشروع، أظهر بعض الحب

اشترِ لي قهوة


مرحبًا بك في الحاجز النهائي للبوتات السيئة و User-Agent والإحالات المزعجة وحاجز Adware و Malware و Ransomware وحاجز Click-Jacking وحاجز Click-Redirect وحاجز عناوين IP السيئة مع نظام Anti DDOS وتحديد معدل Nginx وحظر كاشفات قوالب ووردبريس.

تحاول البوتات أن تجعل نفسها تبدو كبرامج أو مواقع ويب أخرى عبر إخفاء الـ user agent الخاص بها. قد تبدو أسماء الـ user agent الخاصة بها غير ضارة، بل وشرعية تمامًا.

على سبيل المثال، "^Java" ووفقًا لمشروع Project Honeypot، فهو في الواقع واحد من أخطر البوتات، لكن الكثير من البوتات الشرعية لديها "Java" في سلسلة الـ user agent الخاصة بها، لذا فإن النهج الذي يتبعه كثيرون لحظر "Java" ليس جاهلًا فحسب، بل يحجب أيضًا زاحفات شرعية جدًا بما في ذلك بعض زاحفات Google و Bing، ويوضح لي بوضوح أن أولئك الذين يكتبون نصوص حظر البوتات نادرًا ما يختبرونها.

تستخدم الإحالات المزعجة وأسماء النطاقات المزعجة تقنيات ذكية جدًا للقفز من مواقعك وتشغيل حملات Click-Jacking و Click-Redirect مربحة جدًا تقدم إعلانات لأشخاص غير متوقعين يتصفحون الويب أو حتى تزرع برامج ضارة أو Adware أو Ransomware في متصفحاتهم، والتي تصبح لاحقًا جزءًا من شبكة البوتات المربحة الخاصة بهم.

يتضمن حاجز البوتات هذا مئات أسماء النطاقات وعناوين IP التي لن يراها معظم الناس حتى في سجلات Nginx الخاصة بهم. يأتي هذا نتيجة لجميع مواقعي التي تعمل عبر SSL وتستخدم Content-Security-Policy (CSP) التي تحظر الأشياء قبل وصولها حتى إلى Nginx، وقد التقطت وما زلت ألتقط بعضًا من أسوأ النطاقات والبوتات هناك.

كمية هائلة من المواقع الإباحية ومواقع القمار والأخبار المزيفة محظورة أيضًا في سكربت الحاجز هذا، والذي ينمو أيضًا بوتيرة سريعة.

لسوء الحظ، فإن معظم سكربتات حظر البوتات الموجودة هي ببساطة منسوخة ولصوقة من سكربتات أشخاص آخرين وتُجعل لتبدو كعمل خاص بهم. هذا السكربت مستوحى من السكربت الذي أنشأه https://github.com/mariusv وقد ساهمت في ذلك المشروع لكنني انطلقت في تخطيط جديد كليًا، ونظفته كثيرًا وبدأت من الصفر. أصبح الآن مشروعًا مستقلاً تمامًا. إنه نظيف، ويعمل، وقد خضع لاختبارات شاملة.


الأساسيات

قائمة حظر البوتات السيئة هذه لـ nginx مصممة لتكون ملف تضمين عام لـ Nginx وتستخدم توجيهات Nginx map $http_user_agent و map $http_referer و geo $validate_client.

بهذه الطريقة يتم تحميل ملف .conf مرة واحدة في الذاكرة بواسطة Nginx ويكون متاحًا لجميع المواقع التي تشغّلها. كل ما عليك هو استخدام عبارة Include في ملف إعداد vhost لـ Nginx.


إنه مركزي:

جمال هذا هو أنه ملف مركزي واحد تستخدمه جميع مواقعك. هذا يعني أن هناك مكانًا واحدًا فقط لإجراء التعديلات، أي إضافة بوتات جديدة تكتشفها في ملفات السجل الخاصة بك. تُطبق أي تغييرات فورًا على جميع المواقع بعد "sudo service nginx reload" بسيط. لكن بالطبع قم دائمًا بعمل sudo nginx -t لاختبار أي تغييرات في الإعداد قبل إعادة التحميل.


إنه صغير وخفيف الوزن

الملف صغير الحجم. في وقت كتابة هذا وأول إصدار عام له، كان حجم الملف بما في ذلك جميع التعليقات "التي يتجاهلها nginx" حاليًا فقط 185 كيلوبايت ويحتوي بالفعل على أكثر من 5000 نطاق سيء وبوت سيء وعنوان IP سيء. إنه خفيف جدًا لدرجة أن Nginx لا يشعر بوجوده. يحتوي بالفعل على آلاف الإدخالات - الإجمالي المحدث في أعلى ملف README هذا.


إنه دقيق ومضمون ضد النتائج الإيجابية الخاطئة

خلافًا للعديد من حواجز البوتات الأخرى لـ Nginx و Apache حيث يقوم الناس ببساطة بنسخ ولصق القوائم من الآخرين، فقد تم بناء هذه القائمة من الأساس واختبارها بدقة، وأعني بدقة على مدى أكثر من 10 أشهر الآن. إنها تأتي من سجلات خوادم فعلية تتم مراقبتها يوميًا، وهناك ما لا يقل عن 3 إلى 10 إضافات جديدة لهذا الملف يوميًا تقريبًا.

كما تم اختبارها بدقة للنتائج الإيجابية الخاطئة باستخدام شهور من الاختبار المستمر والمنتظم ومراقبة ملفات السجل.

جميع المواقع المدرجة في قائمة الإحالات السيئة يتم فحصها واحدًا تلو الآخر قبل إضافتها. مجرد نسخ أي شيء يبدو مشبوهًا في ملف السجل الخاص بك وإضافته إلى حاجز مثل هذا دون رؤية ما هو عليه أولًا .... حسنًا، إنه أمر أحمق على أقل تقدير.


أسقطهم وهذا كل شيء

لدى Nginx خطأ جميل يسمى 444 والذي يقوم حرفيًا بإسقاط الاتصال. جميع هذه القواعد تصدر استجابة 444، لذا إذا تطابق أي قاعدة، فإن الـ IP الطالب ببساطة لا يتلقى أي استجابة وسيبدو له أن خادمك غير موجود أو أنه غير متصل بالإنترنت.

اختبار باستخدام curl مع أحد أوامر الاختبار الموثقة في ملف /conf.d/globalblacklist.conf سيعطي ببساطة "curl: (52) Empty reply from server" وهذا هو الرد الذي تحصل عليه الإحالات السيئة والبوتات.


وظيفة تحديد المعدل مدمجة

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


طلبات السحب / التصحيحات / النتائج الإيجابية الخاطئة:

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

جميع الإضافات والإزالات والتصحيحات سيتم فحصها للتأكد من دقتها قبل دمجها في الحاجز الرئيسي.

المشكلات:

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


ميزات حاجز البوتات السيئة لـ NGINX:

  • قوائم واسعة من البوتات السيئة والمعروفة والكاشطات (تُحدَّث يوميًا تقريبًا)
  • حظر نطاقات ومواقع الإحالات المزعجة
  • حظر شركات جمع بيانات SEO مثل Semalt.com و Builtwith.com و WooRank.com والعديد غيرها (تُحدَّث بانتظام)
  • حظر مواقع Clickjacking المرتبطة بـ Adware و Malware و Ransomware
  • حظر المواقع الإباحية ومواقع القمار التي تستخدم طرقًا مربحة لكسب المال عبر عرض الإعلانات من خلال القفز من أسماء النطاقات والمواقع الخاصة بك.
  • حظر النطاقات وعناوين IP السيئة التي لا يمكنك حتى رؤيتها في سجلات Nginx الخاصة بك. بفضل سياسة أمان المحتوى (CSP) على جميع مواقع SSL الخاصة بي، يمكنني رؤية أشياء تحاول سحب الموارد من مواقعي قبل وصولها حتى إلى Nginx ويتم حظرها بواسطة CSP.
  • فلتر Anti DDOS وتحديد معدل البوتات العدوانية
  • مرتبة أبجديًا لسهولة الصيانة (طلبات السحب مرحب بها)
  • أقسام مشروحة لبعض البوتات المهمة لتكون متأكدًا قبل الحظر
  • يتضمن نطاق IP الخاص بـ Cyveillance المعروف بتجاهل قواعد robots.txt والتجسس في جميع أنحاء الإنترنت.
  • وضع قوائم بيضاء لنطاقات IP الخاصة بـ Google و Bing و Cloudflare
  • وضع قوائم بيضاء لنطاقات IP الخاصة بك التي تريد تجنب حظرها عن طريق الخطأ.
  • إمكانية إضافة نطاقات IP أخرى وكتل IP تريد حظرها.
  • إذا كان موجودًا في الخارج وكان سيئًا، فهو موجود هنا بالفعل ومحظور !!

يفهم أسماء النطاقات Punycode / IDN

الكثير من القوائم الموجودة تضع نطاقات غريبة في ملف hosts الخاص بها. ملف hosts الخاص بك و DNS لن يفهموا هذا. هذه القائمة تستخدم نطاقات محولة تكون في تنسيق DNS الصحيح ليتم فهمها بواسطة أي نظام تشغيل. تجنب استخدام القوائم التي لا تضع بنية النطاق المنسقة بشكل صحيح في قوائمها.

على سبيل المثال النطاق:

lifehacĸer.com (لاحظ الحرف K)

يُترجم في الواقع إلى:

xn--lifehacer-1rb.com

يمكنك إجراء nslookup على أي نظام تشغيل وسيتم حله بشكل صحيح.

`nslookup xn--lifehacer-1rb.com````xn--lifehacer-1rb.com origin = dns1.yandex.net mail addr = iskalko.yandex.ru serial = 2016120703 refresh = 14400 retry = 900 expire = 1209600 minimum = 14400 xn--lifehacer-1rb.com mail exchanger = 10 mx.yandex.net. Name: xn--lifehacer-1rb.com Address: 78.110.60.230 xn--lifehacer-1rb.com nameserver = dns2.yandex.net. xn--lifehacer-1rb.com text = "v=spf1 redirect=_spf.yandex.net" xn--lifehacer-1rb.com nameserver = dns1.yandex.net.

root@kitploit:~
- انظر إلى: https://www.charset.org/punycode لمزيد من المعلومات حول هذا.

************************************************
## راقب دائماً ما تفعله:

**تأكد من مراقبة سجلات موقعك على الويب** بعد تنفيذ هذا. أقترح عليك أولاً تحميله في موقع واحد ومراقبته بحثاً عن أي نتائج إيجابية خاطئة محتملة قبل وضعه في الإنتاج على جميع مواقعك.

لا تجلس مثل النعامة ورأسك مدفون في الرمال؛ فكونك مشغلاً مسؤولاً للخوادم ومالكاً لموقع ويب يعني أنك يجب أن تراقب سجلاتك بشكل متكرر. أحد الأسباب التي جعلت الكثير منكم ينتهي به المطاف هنا في المقام الأول هو أنك رأيت أشياءً مقرفة في ملفات سجل Nginx الخاصة بك.

راقب أيضاً سجلاتك يومياً بحثاً عن المُحيلين السيئين الجدد وسلاسل User-Agent التي تريد حظرها. أفضل مصدر للإضافة إلى هذه القائمة هو سجلات الخادم الخاصة بك، وليس سجلاتي.

لا تتردد في المساهمة بمُحيلين سيئين من سجلاتك الخاصة إلى هذا المشروع عن طريق إرسال Pull Request (PR). ومع ذلك يمكنك الاعتماد على هذه القائمة لإبعاد 99% من الأشرار.

************************************************
## كيفية مراقبة سجلاتك يومياً (الطريقة السهلة):

**مع جزيل الشكر والتقدير إلى**

https://blog.nexcess.net/2011/01/21/one-liners-for-apache-log-files/

لمراقبة أهم المُحيلين في ملفات سجل موقع ويب على أساس يومي، استخدم مهام cron البسيطة التالية والتي سترسل لك عبر البريد الإلكتروني قائمة بأهم المُحيلين / وكلاء المستخدم كل صباح من ملفات سجل موقع ويب معين. هذا مثال لمهمة cron واحدة فقط لموقع واحد. أنشئ عدة مهام لكل موقع تريد مراقبته. إليك cron يعمل في الساعة 8 صباحاً كل يوم ويرسل لي سجل المُحيلين بعد تجريده. عندما أقول مجرداً، يتم استبعاد نطاق الموقع والمُحيلين الآخرين مثل Google وBing من النتائج. بالطبع يجب عليك تغيير اسم ملف السجل واسم النطاق وعنوان بريدك الإلكتروني في الأمثلة أدناه. مهمة cron الثانية لجمع User-Agents لا تقوم بأي تجريد لأي مُحيلين، ولكن يمكنك إضافة هذه الوظيفة إذا أردت بنسخ جملة awk !~ من المثال الأول.

##### Cron لمراقبة المُحيلين يومياً على Nginx

`00 08 * * * tail -10000 /var/log/nginx/mydomain-access.log | awk '$11 !~ /google|bing|yahoo|yandex|mywebsite.com/' | awk '{print $11}' | tr -d '"' | sort | uniq -c | sort -rn | head -1000 | mail -s "Top 1000 Referers for Mydomain.com" [email protected]`

يرسل لك هذا بريداً إلكترونياً بقائمة يومية من المُحيلين باستخدام أمر awk لاستبعاد نطاقات مثل google وbing واسم النطاق الخاص بك.

##### Cron لمراقبة User-Agents يومياً على Nginx

`00 08 * * * tail -50000 /var/log/nginx/mydomain-access.log | awk '{print $12}' | tr -d '"' | sort | uniq -c | sort -rn | head -1000 | mail -s "Top 1000 Agents for Mydomain.com" [email protected]`

يرسل لك هذا بريداً إلكترونياً بقائمة أفضل User-Agents الذين زاروا موقعك في آخر 24 ساعة، وهو مفيد لاكتشاف أي سلاسل User-Agents مارقة أو مشبوهة.

************************************************
## حظر الروبوتات العدوانية على مستوى جدار الحماية باستخدام Fail2Ban:

لقد أضفت فلتر Fail2Ban مخصصاً وإجراءً كتبته يراقب سجلات Nginx الخاصة بك بحثاً عن الروبوتات التي تولد عدداً كبيراً من أخطاء 444. هذا السجن المخصص لـ Fail2Ban سيفحص السجلات على مدى أسبوع واحد ويحظر المخالف لمدة 24 ساعة. يساعد كثيراً في إبعاد بعض المخالفين المتكررين ومنعهم من ملء ملفات سجلك بأخطاء 444. راجع مجلد Fail2Ban للحصول على إرشادات حول تكوين هذه الإضافة الرائعة لـ Nginx Bad Bot Blocker.

************************************************
## إيقاف سبام "الأشباح" في Google Analytics:

إن مجرد استخدام حاجب Nginx لا يوقف سبام الإحالة الشبحية في Google Analytics لأنها تضرب Analytics مباشرة ولا تلمس موقعك الإلكتروني بالضرورة في كل مرة.

يجب عليك استخدام فلاتر regex في Analytics لمنع سبام الإحالة الشبحية.

لهذا، هناك العديد من ملفات google-exclude-0*.txt التي أُنشئت لك ويتم تحديثها في نفس وقت تحديث حاجب Nginx. مع نمو القائمة، سيتم إنشاء المزيد من ملفات الاستبعاد.

************************************************
## لإيقاف سبام "الأشباح" في Google Analytics اتبع الدليل المرئي البسيط أدناه

اتبع الإرشادات المرئية خطوة بخطوة أدناه لإضافة ملفات google-exclude هذه كشرائح إلى موقعك على الويب.

<table style="width:100%;margin:0;">
  <tr>
    <td align="left"><img src="https://raw.githubusercontent.com/mitchellkrogza/nginx-ultimate-bad-bot-blocker/master/.assets/google-analytics-ghost-spam-01.jpg" alt="Google Analytics - إضافة شرائح لإيقاف سبام الأشباح"/></td>
  </tr>
  <tr>
    <td align="left"><img src="https://raw.githubusercontent.com/mitchellkrogza/nginx-ultimate-bad-bot-blocker/master/.assets/google-analytics-ghost-spam-02.jpg" alt="Google Analytics - إضافة شرائح لإيقاف سبام الأشباح"/></td>
  </tr>
  <tr>
    <td align="left"><img src="https://raw.githubusercontent.com/mitchellkrogza/nginx-ultimate-bad-bot-blocker/master/.assets/google-analytics-ghost-spam-03.jpg" alt="Google Analytics - إضافة شرائح لإيقاف سبام الأشباح"/></td>
  </tr>
  <tr>
    <td align="left"><img src="https://raw.githubusercontent.com/mitchellkrogza/nginx-ultimate-bad-bot-blocker/master/.assets/google-analytics-ghost-spam-04.jpg" alt="Google Analytics - إضافة شرائح لإيقاف سبام الأشباح"/></td>
  </tr>
  <tr>
    <td align="left"><img src="https://raw.githubusercontent.com/mitchellkrogza/nginx-ultimate-bad-bot-blocker/master/.assets/google-analytics-ghost-spam-05.jpg" alt="Google Analytics - إضافة شرائح لإيقاف سبام الأشباح"/></td>
  </tr>
  <tr>
    <td align="left"><img src="https://raw.githubusercontent.com/mitchellkrogza/nginx-ultimate-bad-bot-blocker/master/.assets/google-analytics-ghost-spam-06.jpg" alt="Google Analytics - إضافة شرائح لإيقاف سبام الأشباح"/></td>
  </tr>
  <tr>
    <td align="left"><img src="https://raw.githubusercontent.com/mitchellkrogza/nginx-ultimate-bad-bot-blocker/master/.assets/google-analytics-ghost-spam-07.jpg" alt="Google Analytics - إضافة شرائح لإيقاف سبام الأشباح"/></td>
  </tr>
</table>

************************************************
## حظر نطاقات السبام باستخدام Google Search Console / أدوات مشرفي المواقع
(كيفية استخدام ملف google-disavow.txt)

أضفت إنشاء ملف Google Disavow نصي يسمى google-disavow.txt. يمكن استخدام هذا الملف في أدوات مشرفي المواقع من Google لحظر كل هذه النطاقات باعتبارها روابط سبام أو روابط سيئة. استخدمه بحذر.

************************************************
## إصدار ROBOTS.txt لأولئك الذين لا يمكنهم استخدام هذا الحاجب الكامل؟

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

************************************************
## إصدارات .htaccess لأولئك الذين لا يمكنهم استخدام هذا الحاجب الكامل؟

الكثير من الناس تحت رحمة شركة الاستضافة الخاصة بهم وليس لديهم وصول جذر إلى الخادم الذي يعمل خلف موقعهم على الويب.

إذا كان هذا هو وضعك، فاطلع على إصدارات .htaccess المُولّدة تلقائياً من Spam Referrer Blocker الموجودة في <a href="https://github.com/mitchellkrogza/apache-ultimate-bad-bot-blocker/tree/master/.htaccess">هذا المستودع</a>، طريقة .htaccess هذه (للمواقع التي تعمل على APACHE فقط) ستساعدك في إبقاء جميع مُحيلات السبام الموجودة في هذا الحاجب خارج موقعك.

يُذكر هذا هنا فقط لأن الكثير من الأشخاص الذين يستخدمون أنظمة CPanel يعتقدون أنهم خلف خادم Nginx، لكنهم في الواقع يعملون على خادم Apache خلف خادم وكيل Nginx. لا يعمل .htaccess على مواقع Nginx.

لا تستخدم خادم ويب Nginx؟ اطلع على [![Get the APACHE ULTIMATE BAD BOT BLOCKER](https://img.shields.io/badge/APACHE%20-%20ULTIMATE%20BAD%20BOT%20BLOCKER%20%E2%9B%94-blue.svg)](https://github.com/mitchellkrogza/apache-ultimate-bad-bot-blocker)

************************************************
# إنه يعمل بحق الفورك !!!
************************************************
## استمتع الآن بما يمكن أن يقدمه لك Nginx Bad Bot Blocker ولمواقعك على الويب.
### وساعد في دعم هذا المشروع

آلاف الساعات من البرمجة والاختبار استُثمرت في هذا المشروع، فأظهر بعض الحب

[<img src="https://raw.githubusercontent.com/mitchellkrogza/nginx-ultimate-bad-bot-blocker/master/.assets/kofi4.png" alt="اشترِ لي قهوة" width="300"/>](https://ko-fi.com/mitchellkrog)

************************************************
# هل تم اختراق موقعك على الويب؟

[![Contact me for help](https://img.shields.io/badge/Contact%20-%20me%20for%20help%20%F0%9F%9A%91-blue.svg)](mailto:[email protected]) لمساعدتك في تنظيف موقعك وتأمينه.

************************************************
### بعض المشاريع المجانية الرائعة الأخرى

- https://github.com/mitchellkrogza/apache-ultimate-bad-bot-blocker
- https://github.com/mitchellkrogza/Badd-Boyz-Hosts
- https://github.com/mitchellkrogza/Ultimate.Hosts.Blacklist
- https://github.com/mitchellkrogza/Stop.Google.Analytics.Ghost.Spam.HOWTO
- https://github.com/mitchellkrogza/The-Big-List-of-Hacked-Malware-Web-Sites
- https://github.com/mitchellkrogza/fail2ban-useful-scripts
- https://github.com/mitchellkrogza/linux-server-administration-scripts
- https://github.com/mitchellkrogza/Travis-CI-Nginx-for-Testing-Nginx-Configuration
- https://github.com/mitchellkrogza/Travis-CI-for-Apache-For-Testing-Apache-and-PHP-Configurations
- https://github.com/mitchellkrogza/Fail2Ban-Blacklist-JAIL-for-Repeat-Offenders-with-Perma-Extended-Banning
- https://github.com/funilrys/PyFunceble
- https://github.com/funilrys/dead-hosts
- https://github.com/mitchellkrogza/The-Big-List-of-Hacked-Malware-Web-Sites
- https://github.com/mitchellkrogza/Suspicious.Snooping.Sniffing.Hacking.IP.Addresses
- https://github.com/mitchellkrogza/Fail2Ban.WebExploits

************************************************
### وتحقق أيضاً من القائمة الكبيرة الجديدة للمواقع المخترقة والملوثة بالبرمجيات الخبيثة ومواقع ووردبريس

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

اطلع عليها على: https://github.com/mitchellkrogza/The-Big-List-of-Hacked-Malware-Web-Sites

************************************************
### من محبي التصوير الفوتوغرافي؟

مرر بزيارة إليّ على [mitchellkrog.com](https://mitchellkrog.com) أو [Facebook](https://www.facebook.com/MitchellKrogPhotography) أو تابعني على تويتر <a href='https://twitter.com/MitchellKrog'><img src="https://img.shields.io/twitter/follow/MitchellKrog.svg?style=social&amp;label=Follow" alt='Follow @MitchellKrog'></a>

************************************************
### شكر وتقدير والمساهمون:

شكراً جزيلاً لكل من ساهم في هذا المشروع.

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

- Konstantin Goretzki @konstantingoretzki https://github.com/konstantingoretzki (تحسين Regex في فلتر Fail2Ban)
- Stuart Cardall - https://github.com/itoffshore (نصوص التثبيت والتحديث والإعداد وصيانة حزم Alpine Linux)
- Mike van Eckendonk  - https://github.com/Eckybrazzz
- Nissar Chababy @funilrys - https://github.com/funilrys/PyFunceble (نص ممتاز للتحقق من أسماء النطاقات النشطة وغير النشطة والمنتهية)
- Marius Voila https://github.com/mariusv
- Cătălin Mariș https://github.com/alrra
- deformhead https://github.com/deformhead
- bluedragonz https://github.com/bluedragonz
- Alexander https://github.com/shoonois
- Steven Black https://github.com/StevenBlack
- Fail2Ban - https://github.com/fail2ban
- Stevie-Ray Hartog https://github.com/Stevie-Ray
- Sir Athos من StackOverFlow - http://stackoverflow.com/users/2245910/sir-athos (مساعدة في وضع العلامات والالتزام في Travis Build)
- StackOverflow - http://stackoverflow.com/ (نصوص bash من مئات الأسئلة والأجوبة)
- SuperUser - http://superuser.com/ (مقتطفات من أسئلة وأجوبة متنوعة)

إذا كنت تعتقد أن اسمك يجب أن يكون هنا، أرسل لي رسالة.

************************************************
### كتابة كود مثل هذا يستغرق الكثير من الوقت!!

آلاف الساعات من البرمجة والاختبار استُثمرت في هذا المشروع، فأظهر بعض الحب

[<img src="https://raw.githubusercontent.com/mitchellkrogza/nginx-ultimate-bad-bot-blocker/master/.assets/kofi4.png" alt="اشترِ لي قهوة" width="300"/>](https://ko-fi.com/mitchellkrog)

<img src="https://raw.githubusercontent.com/mitchellkrogza/nginx-ultimate-bad-bot-blocker/master/.assets/zuko.png"/>

************************************************
# رخصة MIT

## حقوق النشر (c) 2017 Mitchell Krog - [email protected]
## https://github.com/mitchellkrogza

يُمنح بموجب هذا الإذن، مجاناً، لأي شخص يحصل على نسخة من هذا البرنامج وملفات التوثيق المرتبطة به ("البرنامج")، للتعامل مع البرنامج دون أي قيود، بما في ذلك دون حصر حقوق استخدام البرنامج ونسخه وتعديله ودمجه ونشره وتوزيعه وترخيصه من الباطن و/أو بيع نسخ منه، والسماح للأشخاص الذين يُسلَّم إليهم البرنامج بالقيام بذلك، وفقاً للشروط التالية:

يجب تضمين إشعار حقوق النشر أعلاه وإشعار الإذن هذا في جميع النسخ أو الأجزاء الجوهرية من البرنامج.

يُقدَّم البرنامج "كما هو"، دون أي ضمان من أي نوع، صريح أو ضمني، بما في ذلك على سبيل المثال لا الحصر ضمانات قابلية التسويق والملاءمة لغرض معين وعدم الانتهاك. في أي حال من الأحوال، لا يتحمل المؤلفون أو أصحاب حقوق النشر المسؤولية عن أي مطالبة أو أضرار أو مسؤولية أخرى، سواء في دعوى تعاقدية أو تقصيرية أو غير ذلك، تنشأ عن البرنامج أو فيما يتعلق به أو نتيجة لاستخدامه أو أي تعاملات أخرى معه.
تنزيل الأداة