Redis限制在规定时间范围内登陆错误次数限制

//登录错误次数校验
$key = "login_{$username}";
$res = $this->_redisVerify($key,10,1800);//半小时内密码输入错误10次
if(!$res){
     echo "手机号或密码错误次数过多,请稍后再试";
 }else{
     echo "手机号或密码错误";
 }
/**
* redis限制
* @param $key : redis key
* @param $times : 次数
* @param $time : key有效时间
* @return bool
*/
private function _redisVerify($key,$times,$time = 86400){
        $redis = new Utils_Redis();
        $redis->select(11);//选择db 10
        $value = (int)$redis->get($key);
        if($value && $value < $times){//防刷次数
            $redis->increment($key);//如果有手机号键名,添加次数
        }elseif(!$value){
            $redis->set($key,1,$time);//设置TimeOut
        }elseif($value >= $times){
            return false;
        }
        return true;
}

原文地址:https://www.cnblogs.com/yszr/p/10427063.html

时间: 2024-11-09 01:59:17

Redis限制在规定时间范围内登陆错误次数限制的相关文章

#用户登陆(三次输错机会)且每次误时显示剩余错误次数(提示:使用字符串格式化)

#用户登陆(三次输错机会)且每次误时显示剩余错误次数(提示:使?字符串格式化) # i = 3 # username = "yangxiaoer" # password = "123456" # while i>=0: # name = input("请输入你的用户名:") # if name == username: # passwd = input("请输入你的密码:") # if passwd == passwor

平台登录时,1分钟内连续错误5次建议锁定帐号5分钟。

登录controller package com.zx.znydweb.controller; import java.util.HashMap; import java.util.Map; import javax.servlet.http.Cookie; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpSession; import org.apache.commons.codec.bin

python学习之路之案例0(实现登录功能,登录错误次数超过3次,自动退出登录)

一.整个案例运用到的知识点 1.python字典.字符串.列表的灵活转换和使用 2.python数据结构之字符串:字符串的格式化.字符串的去空格(strip()) 3.python数据结构之字典:字典的构建.字典和字符串的转换 4.python数据结构列表:列表的构建.列表和字符串的转换 5.if....else....判断的使用 6.for循环.while True死循环的使用 5.文件的打开.读取.关闭等功能的使用 二.整个案例的设计的中心思想 1.首先读取用户表文件里面的字符串:包括用户名

运用WPF和ADO.Net实现限制登录错误次数的简单登录界面

最近看了一下传智播客的免费公开课视频,有一个登录界面的小练习.其中涉及到登录时间的限定功能,并未实现.所以我就自己动手写了一个,大家可以看看. 首先编写SqlHelper类,通过SqlHelper类实现SQL单语句操作数据库.代码如下: 1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5 using System.Data.SqlClient; 6 usin

查看用户登录信息并统计登陆的次数

一.查看用户登录信息的命令 1.    w                查看当前系统上登录的所有用户的信息 2.    who            查看该shell终端下登录用户的详细信息 3.    whoami      查看本shell终端下登陆的用户 4.    last            查看历史的所有登录信息 [[email protected]_server workspace]# w  14:59:23 up 19 days,  5:35,  1 user,  load 

django关闭调试信息,打开内置错误视图

1 内置错误视图 Django内置处理HTTP错误的视图,主要错误及视图包括: 404错误:page not found视图 500错误:server error视图 400错误:bad request视图 如果想看到错误视图而不是调试信息,需要修改 项目名/setting.py文件的DEBUG项. DEBUG = False ALLOWED_HOSTS = ['*', ] 2 编写视图模板 在模板路径下编写自己的404.html,500.html,400.html等 404错误及视图 将请求地

Spring Security应用开发(09)密码错误次数限制

实现登录时密码错误次数限制功能,就是在登录界面中当用户提交了错误的密码时在数据库中记录下这个错误次数,直到错误次数达到指定次数时,锁定用户账户,此时即便输入正确的密码,也不能登录. 需要完成如下工作: (1)修改用户表users的结构,增加相关字段. (2)自定义实现UserDetailsService,用于加载额外的数据字段. (3)自定义实现AuthenticationProvider,用于捕获登录成功和失败的事件. (3)修改spring-security.xml文件,配置上述(2)和(3

hadoop中的hive查询cdn访问日志指定时间段内url访问次数最多的前10位(结合python语言)

hadoop环境描述: master节点:node1 slave节点:node2,node3,node4 远端服务器(python连接hive):node29 需求:通过hive查询到cdn日志中指定时间段内url访问次数最多的前10个url ps:用pig查询可以查询文章: http://shineforever.blog.51cto.com/1429204/1571124 说明:python操作远程操作需要使用Thrift接口: hive源码包下面自带Thrift插件: [[email pr

centos x64 vsftpd 530登陆错误问题

近来在centos 6.0 x64版本下安装vsftpd,中间出现一些问题,解决过程总结如下: 安装vsftpd:yum install vsftpd 安装后配置为虚拟用户登陆,然后用:ftp localhost 登陆测试 总是出现错误提示: 530 Login incorrect.Login failed. google了一下,普遍的解决办法是:在/etc/vsftpd/vsftpd.conf中添加 pam_service_name=vsftpd 这是为了解决pam与vsftpd配合问题,可以