做web开发的时候,经常会遇到表单提交的内容,比如帖子,评论等。这时候我们就的注意防止用户的恶意攻击了。我做了一下总结,如果还有其它好的方法,不妨分享一下!
1.添加验证码的控制,可以有效的防止用户的恶意攻击了,除非他知道你 的验证码的算法。
2.像discuz中那样form表单中增加forhash的隐藏域,判断是否是从我的网站中提交的。
3.可以判断两次提交的时间间隔,用session来记录上次提交的时间。
if (!isset($_SESSION['send_time']))
{
$_SESSION['send_time'] = 0;
}
$cur_time = time();
if (($cur_time - $_SESSION['send_time']) < 10) // 小于10秒禁止发评论
{
//输出用户的评论应该10秒之后再评论
}else{//正常的提交
//处理用户的提交内容
.......
$_SESSION['send_time'] = $cur_time;//用session记录提交的时间
}
4.可以控制用户的长时间内可以提交几次,如10分钟10次等。
暂时先这些吧。