我想在用户向服务器添加一些数据后阻止他5-10分钟。这就像是为了安全起见……用户不能在5到10分钟内多次插入数据。或者如果我插入了一些东西,那么调用插入代码的javascript函数将被阻塞5-10分钟……
提前感谢..
发布于 2011-12-15 19:27:08
首先,函数来获取他们的IP:
function get_ip() {
return trim($_SERVER['REMOTE_ADDR']);
}
其次,我建议您在数据库中有一个表,可能名为user_log……然后记录用户添加数据的时间戳。-当他们下一次尝试时,你可以像这样运行一些PHP ...
$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
发布于 2011-12-15 19:30:17
当用户更新数据时,存储他的IP和点击时间,甚至他的会话。同样,当任何其他用户试图更新任何数据时,请检查数据中的用户url和会话(如果需要)。如果您在数据库中获得IP,则检查持续时间,否则,在mail表中插入记录,然后在此表中再插入一条记录。
发布于 2011-12-15 19:37:14
如果我没理解错你的问题。
当用户向DB插入一些数据时,应该有一个带有时间戳的列,显示插入数据的时间。如果用户尝试使用DB插入更多数据,请选择您正在搜索用户在过去5分钟内插入行的位置。如果有行,则停止所有操作并显示用户错误消息。
没有理由阻止javascript函数。当ajax回调服务器尝试添加新数据时,服务器应该执行上述操作并向javascript发送错误消息。
https://stackoverflow.com/questions/8519217
复制相似问题