现在我在我的所有网站都使用了防洪功能:
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完成它并检查它们是否先前提出了请求?
答案 0 :(得分:0)
这取决于。您的用户有多大可能清除Cookie以超越防洪保护?我会说,如果他们必须再次登录,99%的用户都不会打扰。
但是可以肯定的是,如果你真的想要更好的方法,请将ips存储在数据库中。但即便如此,也可以通过获得新的IP来打败。