如何在php上限制一个ip一天只能注册10个账户,注册多了不允许
30个回答
展开全部
获取IP,把此IP写入数据库的一张表中,表里记录此IP的注册时间及是否有注册用户,如果有,就增加1。用户注册时先检查这张表中的标记位,对应的ip是否超出限制,否就开放正常注册,是则跳到其他页面不给注册。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
php上不太好限制,加上数据库的话还好做,用户注册的时候把ip加入到用户注册表中,然后每次用户注册的时候,在数据库查询该用户的ip是否超过10个,没超过的话允许注册,否则注册失败。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
假设会员表是members有id、reg_time、reg_ip字段
<?php
$start=date('Y-m-d')."00:00:00";
$end=date("Y-m-d")."23:59:59";
$start_time=strtotime($start);
$end_time=strtotime($end_time);
$now_time=time();
$ip = $_SERVER['REMOTE_ADDR'];
if($now_time>$start_time && $now_time<$end_time){
$qid = mysql_query(“SELECT count(id) as total FROM members where reg_time>$start_time and reg_time<$end_time and reg_ip=$ip“);//你的查询
$res = mysql_fetch_array($qid);
$count = $res[‘total’]; //取出统计值
if($count>10){
exit("每个ip每天只能注册10个账号");
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
数据库添加一张注册日志表,字段为:主键,ip,created_at(时间戳),每次新注册就用ip和当前日期去做业务逻辑判断。如select count(*) from 注册日志表 where ip='当前ip' and created_at>当天0点的时间戳,结果超过10条就不允许新注册了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
您好很高兴回答您的问题
首先在用户注册的时候您获取到用户注册的ip,保存在数据库中。相同ip数据库的注册次数递增。
然后当下一个用户注册的时候查找ip注册次数,超过就返回false。
数据库结构:注册ip,注册时间,注册次数。(一天内注册次数递增,超过一天,则第二天数据重新保存)
首先在用户注册的时候您获取到用户注册的ip,保存在数据库中。相同ip数据库的注册次数递增。
然后当下一个用户注册的时候查找ip注册次数,超过就返回false。
数据库结构:注册ip,注册时间,注册次数。(一天内注册次数递增,超过一天,则第二天数据重新保存)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询