始终坚信
好记性不如赖笔头!

如何实现同一IP提交表单的次数限制?

第一步,创建表,DDL如下:

CREATE TABLE 
ip_limit
 (
id
 int(11) NOT NULL AUTO_INCREMENT COMMENT '自增id',
ip
 char(16) NOT NULL DEFAULT '0' COMMENT 'ip地址',
form_id
 int(11) NOT NULL DEFAULT '0' COMMENT '表单id',
last_submit_time
 int(11) NOT NULL DEFAULT '0' COMMENT '上次提交表单时间',
success_submit_times
 int(11) NOT NULL DEFAULT '0' COMMENT '成功提交次数',
  PRIMARY KEY (
id
)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

第二步,需求逻辑,描述如下:
当用户进行第一次提交时,插入一条记录到ip_limit表,并记住ip,form_id,last_submit_time,success_submit_times等字段信息,当用户进行更多次提交时,先查询对应ip对于指定form_id的last_submit_time,如果current_time – last_submit_time>2*3600,就更新last_submit_time,success_submit_times字段信息,否则提示相关限制信息。

]]>

赞(0)
本站未标注原创文章均为转载,如有侵权请告知!二宝博客 » 如何实现同一IP提交表单的次数限制?

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址