PHP
सिक्योर रिमेम्बर मी
खोज…
परिचय
मैं कुछ समय से इस विषय पर खोज कर रहा था जब तक मुझे यह पोस्ट https://stackoverflow.com/a/17266448/4535386 ircmaxell से नहीं मिली, मुझे लगता है कि यह अधिक एक्सपोज़र का हकदार है।
"मुझे लॉग इन रखें" - सबसे अच्छा तरीका
कुकी को तीन भागों में स्टोर करें।
function onLogin($user) {
$token = GenerateRandomToken(); // generate a token, should be 128 - 256 bit
storeTokenForUser($user, $token);
$cookie = $user . ':' . $token;
$mac = hash_hmac('sha256', $cookie, SECRET_KEY);
$cookie .= ':' . $mac;
setcookie('rememberme', $cookie);
}
फिर, मान्य करने के लिए:
function rememberMe() {
$cookie = isset($_COOKIE['rememberme']) ? $_COOKIE['rememberme'] : '';
if ($cookie) {
list ($user, $token, $mac) = explode(':', $cookie);
if (!hash_equals(hash_hmac('sha256', $user . ':' . $token, SECRET_KEY), $mac)) {
return false;
}
$usertoken = fetchTokenByUserName($user);
if (hash_equals($usertoken, $token)) {
logUserIn($user);
}
}
}
Modified text is an extract of the original Stack Overflow Documentation
के तहत लाइसेंस प्राप्त है CC BY-SA 3.0
से संबद्ध नहीं है Stack Overflow