मेल में उपयोगकर्ता का पासवर्ड भेजें


20

मैं उपयोगकर्ताओं को अपने उपयोगकर्ता नाम और पासवर्ड के साथ मेरी वेबसाइट पर लॉग इन करने के लिए एक अनुस्मारक ईमेल भेजना चाहता हूं। मेरा मेल स्क्रिप्ट लॉगिन आईडी के साथ तैयार है, लेकिन मुझे नहीं पता कि उपयोगकर्ता के पासवर्ड को कैसे डिक्रिप्ट किया जाए।

क्या कोई मुझे बता सकता है कि मुझे उपयोगकर्ता खाते से जुड़ा पासवर्ड कैसे प्राप्त करना चाहिए?

जवाबों:


31

डेटाबेस में Drupal क्या बचाता है, उससे आपको उपयोगकर्ता का पासवर्ड नहीं मिल सकता है। Drupal पासवर्ड को एन्क्रिप्ट नहीं करता है और इसे डेटाबेस में सहेजता है, लेकिन यह डेटाबेस में पासवर्ड के हैश को बचाता है, जो कि वन-वे फ़ंक्शन से लौटाया गया मान है; इसका मतलब है कि हैश उत्पन्न करने वाले मूल्य की गणना करना संभव नहीं है।
यही कारण है कि पासवर्ड के बजाय हैश को सहेजा जाता है: यदि कोई व्यक्ति Drupal साइट द्वारा उपयोग किए जाने वाले डेटाबेस का उपयोग करता है, तो पासवर्ड पुनर्प्राप्त करना संभव नहीं है, और उस साइट को उस साइट में पंजीकृत उपयोगकर्ताओं में से एक के रूप में एक्सेस करना संभव है। (यह अभी भी एक ही हैश के साथ एक शब्द को खोजने के लिए संभव हो सकता है; अभी तक, एमडी 5 के साथ कम समय में टकराव के हमलों को संभव दिखाया गया है।)

Drupal एक उपयोगकर्ता के पासवर्ड को रीसेट करने के लिए एक ईमेल भेजने में सक्षम है, जो आप के लिए नहीं पूछ रहे हैं, लेकिन यह उपयोगी हो सकता है यदि आप चाहते हैं कि उपयोगकर्ता X महीने के बाद अपना पासवर्ड रीसेट करें। इस स्थिति में, आप _user_mail_notify () द्वारा उपयोग किए गए कोड के लिए दिलचस्पी ले सकते हैं ।

  // By default, we always notify except for canceled and blocked.
  $default_notify = ($op != 'status_canceled' && $op != 'status_blocked');
  $notify = variable_get('user_mail_' . $op . '_notify', $default_notify);
  if ($notify) {
    $params['account'] = $account;
    $language = $language ? $language : user_preferred_language($account);
    $mail = drupal_mail('user', $op, $account->mail, $language, $params);
    if ($op == 'register_pending_approval') {
      // If a user registered requiring admin approval, notify the admin, too.
      // We use the site default language for this.
      drupal_mail('user', 'register_pending_approval_admin', variable_get('site_mail', ini_get('sendmail_from')), language_default(), $params);
    }
  }

4
हां, यह सभी मल्टी-यूजर सिस्टम के लिए सामान्य सुरक्षा अभ्यास है। पासवर्ड रीसेट करने के लिए Drupal एक समय लॉगिन यूआरएल का उपयोग करता है। इसका मतलब है कि उपयोगकर्ताओं को अपने कच्चे पासवर्ड नहीं मिलते हैं, लेकिन लॉगिन करने और नया सेट करने के लिए विशेष लिंक प्राप्त करें। एक बार लॉगिन यूआरएल टोकन में पाया जा सकता है [user:one-time-login-url]
कलाब्रो

15

कृप्या! ऐसा मत करो!

वेब एप्लिकेशन पर लॉगिन सिस्टम को लागू करना आसान है। एक वेब एप्लिकेशन पर एक सुरक्षित लॉगिन प्रणाली को लागू करना बिल्कुल अलग मामला है। विचार करने के लिए कई पहलू और विवरण हैं, और ड्रुपल उन सभी पहलुओं से निपटने का एक अच्छा काम करता है जो बॉक्स से बाहर हैं।

आपके द्वारा मांगी गई सुविधा को जोड़ने से आपके एप्लिकेशन की सुरक्षा बहुत कम हो जाएगी। यदि आप पासवर्ड को डिक्रिप्ट कर सकते हैं, तो आपने एक बहुत ही महत्वपूर्ण सुरक्षा मंत्र का अपना ऐप छीन लिया है।

अन्य जवाब वर्कअराउंड की व्याख्या करते हैं, बीटाराइड का उत्तर वह होगा जो आप पूछते हैं, लेकिन मुझे पता है कि मैं उनके समापन कथन से पूरी तरह सहमत हूं।

एक बहुत ही सामान्य तरीके से, मैं शायद निम्नलिखित तरीके से इससे निपटूंगा:

एक कस्टम मॉड्यूल में

  1. हुक_क्रोन को लागू करें , यह सभी ईमेल वाले एक सरणी का निर्माण करेगा जो आपकी पसंद के मानदंडों से मेल खाता है।

  2. सरणी के माध्यम से लूप करें और drupal_mail के माध्यम से ईमेल भेजें। _user_mail_notify() ऊपर से जुड़े फ़ंक्शन kiamlaluno में देखें।

यदि उपयोगकर्ता ने कभी लॉग-इन नहीं किया है, तो आपको रीसेट पासवर्ड मेल (यहां निश्चित नहीं है) भेजने की आवश्यकता हो सकती है, संभवतः पंजीकरण या अपने स्वाद के लिए रीसेट पासवर्ड ईमेल को अनुकूलित करने के लिए drupal_mail और hook_mail_alter के संयोजन का उपयोग कर ।

आशा है कि मदद करता है, मुझे पता है कि यह थोड़ा स्केच है क्योंकि मैंने अभी तक अपने ड्रुपल अनुभव में कुछ भी समान लागू नहीं किया है, मैं बस कुछ विचारों को पंप कर रहा था कि कैसे एक सुरक्षित तरीके से उपयोगकर्ताओं को सूचित किया जा सकता है। ईमेल में सादा-पाठ पासवर्ड होने के कई विकल्प हैं।

गुड लक दोस्त, आपको खुश और नया साल मुबारक हो!


2
इस उत्तर के पहले वाक्य को 16pt बोल्ड प्रकार में ज़ोर देने की आवश्यकता है, और शायद उन कुछ स्थानों में से एक है जिसमें ब्लिंक टैग उपयुक्त हो सकता है।
सर्वव्यापी

9

पठनीय पासवर्ड प्राप्त करने के लिए आप एईएस एन्क्रिप्शन मॉड्यूल का उपयोग कर सकते हैं।

हालाँकि, बहुत अच्छे कारण हैं कि मानक Drupal में पासवर्ड पढ़ने योग्य नहीं हैं। आईएमएचओ एक तरह से निर्मित पी-रिकवरी लिंक का उपयोग करके अधिक सुरक्षित है।


0

मेल में पासवर्ड भेजने के लिए आप अकाउंट पासवर्ड टोकन मॉड्यूल का उपयोग कर सकते हैं

प्रायोगिक परियोजना

यह एक सैंडबॉक्स प्रोजेक्ट है , जिसमें केवल डेवलपर उपयोग के लिए प्रायोगिक कोड है।

यह छोटा मॉड्यूल खाता ई-मेल सेटिंग के लिए उपयोगकर्ता खाता पासवर्ड टोकन प्रदान करता है। साइट व्यवस्थापक ने उपयोगकर्ता को पासवर्ड को bellow सेटिंग्स में भेजने की अनुमति दी: -

  1. स्वागत (व्यवस्थापक द्वारा बनाया गया नया उपयोगकर्ता)
  2. आपका स्वागत है (कोई स्वीकृति आवश्यक नहीं)
  3. खाता सक्रियण
  4. आपका स्वागत है (कोई अनुमोदन आवश्यक नहीं है, पासवर्ड सेट है)
  5. पासवर्ड की दोबारा प्राप्ति
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.