学做网站培训课程介绍

当前位置:

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提交。

发表评论

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

相关教程

  • 现在很多网站都安装了SSL证书来实现加密访问,SSL证书一般是申请后可以使用一年,一年到期后再次申请重新布署。但有些站长会遇到这样的情况,网站旧
  • WordPress程序里的某个PHP文件,如果想连接数据库,一般需要填写数据库名、数据库用户、密码等信息,如下:<?php$conn=mysqli_connect(&qu
  • 我们做网站一般都是做自适应结构,不同用户使用不同的浏览设备可以浏览不同的版面的网站。但有时为了特殊的要求,我们不希望自己的网站手机端自适应,
  • 我们制作网站前台提交发布界面时,富文本编辑器常常使用kindeditor 编辑器,kindeditor 编辑器支持用户上传图片和附件,通常情况下编辑器是不限制附件
  • 帝国CMS建网站时,使用程序自带的菜单标签,可以生成纯A的菜单。[!--class.menu--]如果只想调用一级导航,可以使用以下的代码:<
  • notepad是一款比较好用的网页编辑软件,学建站网张启亚老师也一直在用notepad。notepad有一个比较实用的功能就是它会自动保存之前打开的文件列表,但
  • notepad是一款比较好用的网页编辑软件,学建站网张启亚老师也一直在用notepad。notepad有一个比较实用的功能就是它会自动保存之前打开的文件列表,但
  • 我们有些同学做的是下载类网站,如果使用普通的A标签来下载,很容易被别采集,这样会严重影响网站的运营。那么怎么隐藏下载地址呢?让资源的下载地址
  • 近期有几个学做网站学员咨询为什么自己服务器宝塔面板安装了WORDPRESS程序之后,网站总是打不开,提示500错误或者404错误。即使上传一个TXT文件,也无
  • 在https页面中,如果调用了http资源,那么浏览器就会抛出一些错误。我们可以通过一个meta 标签来限制网站调用http资源,自动将http替换成https资源。