php 限制同一个IP 一段时间不能评论多次,能给我详细解决的
mip版 关注:163 答案:3 悬赏:30
解决时间 2021-01-25 15:27
已解决
2021-01-25 05:54
php 限制同一个IP 一段时间不能评论多次,能给我详细解决的
最佳答案
2021-01-25 06:49
在评论的操作中,都需要记录用户ip地址.评论时间.这是一个好的设计数据库习惯;
不管ip地址、时间对你程序有没有。都建议你这样设计;
1.在写入数据库之前,判断一个条件。在$second秒内,这个$ip 有没有评论;
$ctime = time() - $second; //在$second之前的时间;
$sql = "SELECt id FROM [table] where ip = '$ip' AND postdate > $ctime ";
1.如果这个$sql有结果.则说明这个$ip 在$second秒内,已经评论过;中断程序,并提示用户;
2.如果没有这个$sql没有结果。则继续执行操作,并把评论写入数据库;
//补上一个获取ip地址的函数
function get_client_ip(){
if (getenv("HTTP_CLIENT_IP") && strcasecmp(getenv("HTTP_CLIENT_IP"), "unknown"))
$ip = getenv("HTTP_CLIENT_IP");
else if (getenv("HTTP_X_FORWARDED_FOR") && strcasecmp(getenv("HTTP_X_FORWARDED_FOR"), "unknown"))
$ip = getenv("HTTP_X_FORWARDED_FOR");
else if (getenv("REMOTE_ADDR") && strcasecmp(getenv("REMOTE_ADDR"), "unknown"))
$ip = getenv("REMOTE_ADDR");
else if (isset($_SERVER['REMOTE_ADDR']) && $_SERVER['REMOTE_ADDR'] && strcasecmp($_SERVER['REMOTE_ADDR'], "unknown"))
$ip = $_SERVER['REMOTE_ADDR'];
else
$ip = "unknown";
return($ip);
}
全部回答
1楼
2021-01-25 09:34
//禁用单个ip如下://禁用ip段如下:
2楼
2021-01-25 08:28
获取IP 然后保存到数据库
我要举报
如果感觉以上信息为低俗/不良/侵权的信息,可以点下面链接进行举报,我们会做出相应处理,感谢你的支持!
点此我要举报以上信息!
推荐资讯
大家都在看