防洪:会话或数​​据库存储ips

时间:2010-07-07 22:52:58

标签: session flooding

现在我在我的所有网站都使用了防洪功能:

function flood($name,$time)
{
 $name = 'tmptmptmp'.$name;
 if(!isset($_SESSION[$name]))
 {
  $_SESSION[$name] = time();
  return true;
 }
 else
 {
  if(time()-$time > $_SESSION[$name])
  {
   $_SESSION[$name] = time();
   return true;
  }
  else
  {
   return false;
  }
 }
}

我这样使用它:

if(flood('post',60)) do something;
else 'you're posting too fast';

这样安全吗?或者我是否需要更换它/用db表格存储ips完成它并检查它们是否先前提出了请求?

1 个答案:

答案 0 :(得分:0)

这取决于。您的用户有多大可能清除Cookie以超越防洪保护?我会说,如果他们必须再次登录,99%的用户都不会打扰。

但是可以肯定的是,如果你真的想要更好的方法,请将ips存储在数据库中。但即便如此,也可以通过获得新的IP来打败。