डेवलपर टूल / 24
Apache / Nginx .htpasswd जनरेटर
क्लाइंट मेमोरी में Apache और Nginx .htpasswd प्रमाणीकरण लाइनें और पासवर्ड हैश जनरेट करें।
Apache / Nginx .htpasswd जनरेटर: TOEA वह लाइन लिखता है जिसकी HTTP बेसिक प्रमाणीकरण के लिए Apache और nginx को ज़रूरत होती है। डिफ़ॉल्ट Apache का $apr1$ फ़ॉर्मैट है: पासवर्ड में 8 रैंडम अक्षरों का सॉल्ट मिलाया जाता है और उसे 1000 राउंड से गुज़ारा जाता है। यही प्रक्रिया htpasswd -m करता है और दोनों सर्वर इसे पढ़ते हैं। यह आपके ब्राउज़र में 100% स्थानीय रूप से चलता है और सर्वर पर कोई फ़ाइल अपलोड नहीं होती।
- श्रेणी
- डेवलपर टूल्स
- रन
- आपके ब्राउज़र में
- लागत
- मुफ़्त · साइन अप की ज़रूरत नहीं
- उपलब्धता
- इस्तेमाल के लिए तैयार
Line को server से जोड़ना
Line को web root के बाहर किसी फ़ाइल में रखें, हर पंक्ति में एक user:hash। nginx के लिए location या server block में auth_basic "Restricted"; और auth_basic_user_file /etc/nginx/.htpasswd; जोड़ें। Apache के लिए AuthType Basic, AuthName, फ़ाइल के पूरे path के साथ AuthUserFile और Require valid-user इस्तेमाल करें। इसके बाद server reload करें; वहाँ syntax error होने पर केवल logins नहीं, बल्कि हर request विफल दिखाई देती है।
Dollar signs और plain HTTP
Hash में बहुत सारे $ characters होते हैं और Docker Compose files, .env files तथा कुछ proxy labels $ को variable की शुरुआत मानते हैं। Compose में हर $ को $$ लिखें; वरना hash चुपचाप छोटा हो जाता है और कोई password match नहीं करता।
Basic authentication हर request के साथ username और password भेजता है; वे encoded होते हैं, encrypted नहीं। इसे HTTPS के पीछे रखें और customers के login system के बजाय staging sites तथा admin paths के gate के रूप में इस्तेमाल करें।
इस्तेमाल करने का तरीका
- यूज़रनेम और पासवर्ड दर्ज करें।
- Apache MD5 एल्गोरिदम को डिफ़ॉल्ट पर ही रहने दें, जब तक इसे बदलने का कोई खास कारण न हो।
- जनरेट की गई लाइन को अपनी .htpasswd फ़ाइल में कॉपी करें।
गोपनीयता और सीमाएँ
पासवर्ड आपके ब्राउज़र में हैश किया जाता है और कहीं भी नहीं भेजा जाता। कुछ भी लॉग नहीं किया जाता, और सॉल्ट आपके ब्राउज़र के अपने क्रिप्टोग्राफ़िक रैंडम स्रोत से आता है। इसलिए एक ही पासवर्ड के लिए लाइन जनरेट करने वाले दो लोगों को एक जैसा हैश नहीं मिलता।
संबंधित टूल्स
अक्सर पूछे जाने वाले सवाल
मुझे कौन-सा एल्गोरिदम चुनना चाहिए?
Apache MD5 ($apr1$), जो यहां डिफ़ॉल्ट है। इसमें सॉल्ट और कई राउंड का उपयोग होता है, और Apache व nginx दोनों इसे स्वीकार करते हैं। {SHA} विकल्प बिना सॉल्ट वाला SHA-1 डाइजेस्ट है, जिसे केवल उन पुराने सेटअप के लिए रखा गया है जहां इसकी ज़रूरत होती है — Apache का अपना htpasswd टूल इस विकल्प को असुरक्षित बताता है, क्योंकि एक जैसे पासवर्ड से एक जैसे हैश बनते हैं और लुकअप टेबल उन्हें तोड़ सकती है।
क्या यह bcrypt जितना मजबूत है?
नहीं। bcrypt अधिक मजबूत विकल्प है और Apache इसे सपोर्ट करता है, लेकिन इसे यहां जनरेट नहीं किया जा सकता — इसके लिए Blowfish इम्प्लीमेंटेशन चाहिए, जिसे भेजना और भरोसेमंद बनाए रखना काफी मात्रा में कोड मांगता है। अगर आप bcrypt चाहते हैं, तो स्थानीय रूप से htpasswd -B -n username चलाएं और परिणाम को पेस्ट करें।
क्या इस पर भरोसा करने से पहले मैं किसी लाइन को जांच सकता हूं?
हां, और ऐसा करना उपयोगी है। इसे एक फ़ाइल में सेव करें और htpasswd -vb yourfile username password चलाएं — Apache बताएगा कि इससे प्रमाणीकरण होता है या नहीं। इन लाइनों को htpasswd और openssl passwd -apr1 दोनों के विरुद्ध सत्यापित किया गया है।
मुफ़्त टूल · आपके ब्राउज़र में बार चलता है · अकाउंट की ज़रूरत नहीं