1、很多存储方式都可行,一般来说存session就行了,并设置失效时间。
2、存验证码的时候建议把手机号作为唯一标识 一起存起来,防止下一个用户的验证码覆盖,(如:$_SESSION['phone'] = '手机号'; $_SESSION['md5('手机号')'] = '验证码'; )。
首先,建一个存储手机验证码的表phone(手机号码)、code(验证码)、expired_time(失效时间)。
当校验的时候 对比下当前时间跟失效时间,如果当前时间大于失效时间 就说明过期了
你生成手机验证码的时候网数据库存个生成时间,然后验证验证码的时候判断下时间查询验证在几分钟以内的通过超过的就失败就好了!
create table register_code(
`id` int(11) NOT NULL AUTO_INCREMENT,
`mobile` int(11) not null default 0 comment '手机号码',
`code` int(11) not null default 0 comment '验证码',
`create_time` int(11) unsigned not null default 0 comment '创建时间',
`uneffect_time` int(11) unsigned not null default 0 comment '失效时间',
PRIMARY KEY (`id`),
index `idx_id`(`eid`),
)ENGINE=MyISAM DEFAULT CHARSET=utf8;