Question

J'ai un système de connexion. Comment puis-je mettre en place une sécurité Se souvenir de moi système en utilisant les cookies.

Quelle valeur dois-je avoir à stocker dans le nom d'utilisateur et mot de passe des cookies, mais comment je peux le fixer?

Était-ce utile?

La solution

définir un sel utilisateur foreach dans db puis

sur le réglage

$expire_time = time() + 2 * 7 * 24 * 3600; // 2 weeks exp time

setcookie( 
    "rememberMe",
    crypt($username, $salt),
    $expire_time,
    '/'
);

sur la validation

$_COOKIE['rememberMe'] === crypt($username, $salt)

Autres conseils

Peut-être que vous pouvez créer une chaîne lettre / numéro 16 caractères qui est associé dans une base de données avec l'utilisateur et l'adresse MAC de sorte que (tant que les gens ne cherchent pas trop dur et usurpation d'identité macs) que cette machine peut se connecter .

Peut-être que vous devriez stocker (dans votre DB) visiteur IP, User Agent, le fuseau horaire ou plug-ins installés. Quelque chose qui pourrait être facile à obtenir en utilisant Javascript, car obtenir l'adresse MAC pourrait être un problème.

Ensuite, vous pouvez facilement vérifier si l'utilisateur a la même IP, UA, fuseau horaire ou plug-ins comme la dernière fois :) Ou vous pouvez utiliser MaxMind pour vérifier son emplacement et de confirmer s'il utilise fuseau horaire correct. S'il y a quelque chose de suspect, vous devez jeter les informations d'identification de cookie.

Il n'y a pas grand-chose à ce ... ne laissez pas vos fichiers de session se nettoyé (session.gc_probability = 0 de réglage ini) et changer le cookie de session de temporaire à permanent (session.cookie_lifetime = however_long_you_want_the_user_to_be_remembered de réglage ini).

Bien sûr, vous voudrez probablement nettoyer éventuellement des fichiers de session rassis, de sorte que vous pouvez expérimenter avec très faible probabilité de nettoyage se produisant, ou procéder à un nettoyage externe. De toute façon, tant que l'utilisateur conserve le cookie de session autour et vous gardez le fichier de session autour, ils seront « souvenaient ».

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top