डेटाबेस में 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);
}
}
[user:one-time-login-url]
।