php - Le côté PC limite le nombre de connexions utilisateur !
怪我咯
怪我咯 2017-05-31 10:33:27
0
4
873

J'enregistre le nombre d'erreurs de connexion et la durée de la session. Lorsque le nombre maximum d'erreurs est atteint, je ne pourrai pas me connecter. Cependant, je peux toujours me connecter après avoir effacé les cookies. Comment dois-je le résoudre ? Ou existe-t-il un autre moyen de limiter le nombre de connexions ? Merci!

怪我咯
怪我咯

走同样的路,发现不同的人生

répondre à tous(4)
我想大声告诉你

Ajoutez un champ à la base de données et verrouillez le compte si le nombre de fois est dépassé...

给我你的怀抱

Utilisez Memcache ou Redis pour le contrôle du cache

$key = compte de connexion

$value = Nombre de connexions échouées

$this->set($clé,$valeur);

小葫芦

Utilisez ip et HTTP_USER_AGENT pour déterminer s'il s'agit du même utilisateur

小葫芦

Une situation comme la vôtre ne peut être gérée que via le cache global. Si vous souhaitez contrôler le nombre de connexions pour un certain nom d'utilisateur, alors
1 Pour la mise en cache des valeurs clés
structure de données unifiée key=value => username={'number of logins':1}, puis utilisez redis, memcache, mysql. (Créer une table de cache, une colonne [valeur clé], une clé de hachage d'index)
Directement $userinfo = $cacheobj->get('username') pour obtenir des informations sur l'utilisateur, déterminer le nombre de connexions et augmenter le nombre de connexions $cacheobj -> set('nom d'utilisateur', $userinfo) réécrivez

2. Incorporez-le dans la structure de la table d'informations de connexion à la base de données
Ajoutez une nouvelle colonne de numéro de connexion à la table de connexion de l'utilisateur MySQL, puis appelez SQL, obtenez, jugez, incrémentez-la automatiquement et mettez-la à jour

Si vous souhaitez inclure la latitude temporelle, alors

1. Pour la mise en cache des valeurs-clés
, la structure des données est mise à jour avec le nom d'utilisateur = {'nombre de connexions' : 1, 'délai d'expiration' : horodatage}, et le jugement plus la latitude temporelle sont ajoutés au jugement lorsque le délai d'expiration se produit. le nombre de connexions est fixé à 0

2. Pour le cache de valeurs de clés non mysql (redis, memcache)
Direct $cacheobj->set('username', 'number of logins', timeout)

3. Incorporez-le dans la structure du tableau d'informations de connexion à la base de données
Dans ce cas, ajoutez une colonne de délai d'attente

Il existe d'innombrables façons de le mettre en œuvre, principalement en fonction du scénario réel et des ressources.

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal