أداة للمطورين / 24

مولّد .htpasswd لـ Apache / Nginx

أنشئ أسطر مصادقة Apache وNginx وتجزئات كلمات المرور في ذاكرة المتصفح.

مولّد .htpasswd لـ Apache / Nginx: ينشئ TOEA السطر الذي يتوقعه Apache وnginx للمصادقة الأساسية عبر HTTP. الإعداد الافتراضي هو تنسيق Apache $apr1$: تُضاف إلى كلمة المرور salt مكوّنة من ثمانية أحرف عشوائية، ثم تُمرَّر عبر 1000 جولة، وهو ما ينتجه htpasswd -m ويقرأه كلا الخادمين. يعمل 100% محليًا في المتصفح، من دون رفع أي ملفات إلى الخادم.

مرات التشغيل
في المتصفح
التكلفة
مجاني · بلا تسجيل
التوفر
جاهز للاستخدام

إدراج السطر في خادم

احفظ السطر في ملف خارج جذر الويب، مع user:hash واحد في كل سطر. في nginx، أضف auth_basic "Restricted"; وauth_basic_user_file /etc/nginx/.htpasswd; إلى كتلة location أو server. وفي Apache، استخدم AuthType Basic وAuthName وAuthUserFile مع المسار الكامل للملف، ثم Require valid-user. أعد تحميل الخادم بعد ذلك؛ إذ يظهر خطأ الصياغة هناك على شكل فشل كل الطلبات، وليس تسجيلات الدخول فقط.

علامات الدولار وHTTP العادي

يمتلئ الهاش بمحارف $، وتقرأ ملفات Docker Compose و.env وبعض تسميات الوكلاء العكسيين $ باعتبارها بداية متغير. في Compose، اكتب كل $ على هيئة $$؛ وإلا فسيُختصر الهاش بصمت ولن تطابقه أي كلمة مرور.

يرسل Basic authentication اسم المستخدم وكلمة المرور مع كل طلب، بترميز غير مشفّر. ضعه خلف HTTPS، وتعامل معه كبوابة لمواقع التجهيز ومسارات الإدارة، لا كنظام تسجيل دخول للعملاء.

طريقة الاستخدام

  1. أدخل اسم مستخدم وكلمة مرور.
  2. اترك الخوارزمية على Apache MD5 ما لم يكن لديك سبب لعدم ذلك.
  3. انسخ السطر المُنشأ إلى ملف .htpasswd.

الخصوصية والقيود

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

أدوات ذات صلة

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

ما الخوارزمية التي ينبغي اختيارها؟

Apache MD5 ($apr1$)، وهي الإعداد الافتراضي هنا. تستخدم salt وتكرارًا عدة مرات، ويقبلها كل من Apache وnginx. أما الخيار {SHA} فهو تجزئة SHA-1 من دون salt، ومتوفر فقط للإعدادات القديمة التي تتطلبه — إذ تصنّف أداة htpasswd الخاصة بـ Apache هذا الخيار على أنه غير آمن، لأن كلمات المرور المتطابقة تنتج تجزئات متطابقة، ويمكن لجدول بحث اختراقها.

هل تتمتع هذه الحماية بالقوة نفسها التي يوفرها bcrypt؟

لا. يُعد bcrypt الخيار الأقوى، ويدعمه Apache، لكن لا يمكن إنشاؤه هنا — فهو يحتاج إلى تطبيق لـ Blowfish، ما يعني شحن قدر كبير من التعليمات البرمجية والوثوق به. إذا أردت استخدام bcrypt، شغّل htpasswd -B -n username محليًا والصق النتيجة.

هل يمكنني التحقق من السطر قبل الاعتماد عليه؟

نعم، ومن المفيد فعل ذلك. احفظه في ملف وشغّل htpasswd -vb yourfile username password — وسيخبرك Apache ما إذا كان ينجح في المصادقة. تم التحقق من هذه الأسطر باستخدام كل من htpasswd وopenssl passwd -apr1.

أداة مجانية · عدد مرات الاستخدام في المتصفح · لا يتطلب حسابًا