首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在插入来自用户ip的数据后一段时间内阻止用户

在插入来自用户ip的数据后一段时间内阻止用户
EN

Stack Overflow用户
提问于 2011-12-15 19:17:37
回答 4查看 295关注 0票数 0

我想在用户向服务器添加一些数据后阻止他5-10分钟。这就像是为了安全起见……用户不能在5到10分钟内多次插入数据。或者如果我插入了一些东西,那么调用插入代码的javascript函数将被阻塞5-10分钟……

提前感谢..

EN

回答 4

Stack Overflow用户

发布于 2011-12-15 19:27:08

首先,函数来获取他们的IP:

代码语言:javascript
运行
复制
function get_ip() {
    return trim($_SERVER['REMOTE_ADDR']);
}

其次,我建议您在数据库中有一个表,可能名为user_log……然后记录用户添加数据的时间戳。-当他们下一次尝试时,你可以像这样运行一些PHP ...

代码语言:javascript
运行
复制
$ip = '\''.get_ip().'\'';
$res = mysql_query('SELECT COUNT(*) FROM `user_log` WHERE (CURRENT_TIMESTAMP - `timestamp`) < 10 AND `ip` = '.$ip.';');
if (mysql_result($res,0) > 0) die('Added data too recently');
// add the data
票数 1
EN

Stack Overflow用户

发布于 2011-12-15 19:30:17

当用户更新数据时,存储他的IP和点击时间,甚至他的会话。同样,当任何其他用户试图更新任何数据时,请检查数据中的用户url和会话(如果需要)。如果您在数据库中获得IP,则检查持续时间,否则,在mail表中插入记录,然后在此表中再插入一条记录。

票数 0
EN

Stack Overflow用户

发布于 2011-12-15 19:37:14

如果我没理解错你的问题。

当用户向DB插入一些数据时,应该有一个带有时间戳的列,显示插入数据的时间。如果用户尝试使用DB插入更多数据,请选择您正在搜索用户在过去5分钟内插入行的位置。如果有行,则停止所有操作并显示用户错误消息。

没有理由阻止javascript函数。当ajax回调服务器尝试添加新数据时,服务器应该执行上述操作并向javascript发送错误消息。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8519217

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档