学做网站培训课程介绍

当前位置:

PHP使用token验证阻止FORM表单恶意POST提交

我们网站上经常会使用到FORM表单来提交信息,有时会被一些无聊的人批量进行恶意提交,影响网站的服务性能。下面介绍一下使用token验证阻止FORM表单恶意POST提交的方法。

原理

通过对form表单hidden提交字段的处理实现token验证功能,防止非法来源数据的访问,增加数据操作的安全性。

实现方法

前台form表单添加以下的隐藏类:


<form action="some.php" method="POST">

<?php $module=mt_rand(100000,999999);?>
<input type='hidden' name='module' value='<?php echo $module;?>'/>
<input type='hidden' name='timestamp' value='<?php echo time();?>'/>
<input type='hidden' name='token' value='<?php echo md5($module.'#$@%!^*%*ty'.time());?>'/>
<input type='
hidden' value='<?php echo home_url();?>' name='tougao_form' />
</form>

在处理表单的PHP文件里最上面加以下的判断语句:


$module = $_POST['module'];
$timestamp = $_POST['timestamp'];
$token = md5($module.'#$@%!^*%*ty'.$timestamp);
if($token != $_POST['token']){
echo('非法提交!');
exit();
}


通过这个方法可以一定程度上减少恶意的POST提交。

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注