您现在的位置是:网站首页>PHP后端>php 伪造跨站请求保护 CSRF原理PHP后端

php 伪造跨站请求保护 CSRF原理

adminPHP后端46人已围观

在生成表单的时候,为防止表单重复提交。在form表单中添加一个隐藏的input标签来存放令牌,等到提交的时候,和表单一起提交。提交以后和生成的session值或者cookie作比较,通过这种方式来达到防止重复提交的目的。


session为例:

html端

<form action="1.php" method="post">
 <input type="hidden" value="<?php echo $_SESSION["token"]?>" name="token">
 <input type="submit" value="提交" />


php端

if($_POST){
     if($_SESSION["token"]!=$_POST["token"]){
         die("非法提交!");
     }else{
         echo "安全提交!";
     }
 }
 $_SESSION["token"]=md5(rand(1,999));//没生成一次表单,修改一次值,不要在post处理前修改它,不然无法比对 


站点信息

  • 建站时间:2019-3-10
  • 网站程序:ThinkPHP PHP MYsql
  • 路由说明:全站静态化+api
  • 统计数据百度统计
  • 登陆方式:githua授权登陆
  • 个人邮箱:2584496361@qq.com
  • 个人Q Q2584496361
  • 业务咨询:有需要建站朋友欢迎咨询