Aperçu des principes :
Le programme déterminera une tranche de temps plus petite, plus la précision du contrôle est élevée. Un contrôle d'accès implique plusieurs tranches de temps.
Si le programme nécessite d'ajouter un enregistrement d'accès à une certaine heure, il calculera d'abord la tranche horaire à utiliser en fonction de l'heure actuelle, et ajoutera 1 au compteur de cette tranche horaire.
Lorsque le programme détermine combien de fois il a été accédé au cours d'une période de temps, il calculera d'abord combien de tranches de temps contient cette période de temps, puis retirera toutes ces tranches de temps, ajoutera le compteur et reviendra.
Regardez ici l'introduction principale, et le code source pertinent du programme est ici (nodejs)
Comment utiliser Redis pour créer un module de contrôle de fréquence d'accès
Exemple d'utilisation (nodejs) :
varredback=require(' redback').createClient(),
ratelimit=redback.createRateLimit('requests'); //Incrémenter le nombre d'adresses IP spécifiées
ratelimit.add('127.0.0.1'); requêtes>30){
//Létrangler l'utilisateur d'une manière ou d'une autre..
}
});
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!