मैं r3bel के जवाब पसंद आया, तो मैं इसके साथ एक नाटक था और एक पासवर्ड-चेकिंग समारोह के रूप में निम्नलिखित के साथ समाप्त हो गया:
function password_strength_check($password, $min_len = 8, $max_len = 70, $req_digit = 1, $req_lower = 1, $req_upper = 1, $req_symbol = 1) {
// Build regex string depending on requirements for the password
$regex = '/^';
if ($req_digit == 1) { $regex .= '(?=.*\d)'; } // Match at least 1 digit
if ($req_lower == 1) { $regex .= '(?=.*[a-z])'; } // Match at least 1 lowercase letter
if ($req_upper == 1) { $regex .= '(?=.*[A-Z])'; } // Match at least 1 uppercase letter
if ($req_symbol == 1) { $regex .= '(?=.*[^a-zA-Z\d])'; } // Match at least 1 character that is none of the above
$regex .= '.{' . $min_len . ',' . $max_len . '}$/';
if(preg_match($regex, $password)) {
return TRUE;
} else {
return FALSE;
}
}
अधिकतम/न्यूनतम लंबाई डिफ़ॉल्ट या समायोज्य हैं, प्रत्येक आवश्यकता पर डिफ़ॉल्ट है, लेकिन इसे बंद कर दिया जा सकता है, और मैं किसी भी प्रतीक का समर्थन करना चाहता था ताकि आखिरी आवश्यकता प्रतीक के निश्चित सेट के बजाय "उपर्युक्त प्रकारों में से कोई भी नहीं" हो।
स्रोत
2017-02-20 14:49:28
कृपया लंबे पासवर्ड की अनुमति देने पर विचार करें, मैं 20 + अक्षरों का लंबा होना पसंद करता हूं, और यह आपको अनुमति देने के लिए आपको चोट नहीं पहुंचाता है। मैं उन साइटों को नहीं समझता जिनके पास अधिकतम लंबाई है - आप उन्हें स्टोर करते हैं ताकि समस्या क्या हो? –
@ ड्रैगन मैंने अधिकतम 50 वर्णों में वृद्धि की है। यह एक साधारण साइट है और मुझे लगता है कि मैं सोच रहा था कि 8-12 चरित्र लोगों को याद रखना आसान होगा और उनके पासवर्ड को रीसेट करने की आवश्यकता कम होगी। लेकिन जैसा कि आपने कहा था, पासवर्ड एन्क्रिप्टेड होने के साथ, यह वास्तव में एक सौदा का बड़ा नहीं है। –
मैंने अपने लिए मेरे सभी पासवर्ड याद रखने की अनुमति दी :-) –