国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > PHP > 正文

php 表單令牌防止重復提交原理

2024-05-04 21:48:14
字體:
來源:轉載
供稿:網友

在生成表單的時候,為防止表單重復提交。在form表單中添加一個隱藏的input標簽來存放令牌,等到提交的時候,和表單一起提交,提交以后和生成的session值作比較,通過這種方式來達到防止重復提交的目的,簡要代碼如下.

例子,session方法,代碼如下:

  1. <?php 
  2. if($_POST){ 
  3.     if($_SESSION["token"]!=$_POST["token"]){ 
  4.         die("非法提交!"); 
  5.     }else
  6.         echo "安全提交!"
  7.     } 
  8. $_SESSION["token"]=md5(rand(1,999));//沒生成一次表單,修改一次值,不要在post處理前修改它,不然無法比對 m.survivalescaperooms.com 
  9. ?> //開源代碼Vevb.com 
  10. <form action="1.php" method="post"
  11. <input type="hidden" value="<?php echo $_SESSION["token"]?>" name="token"
  12. <input type="submit" value="提交" /> 
  13. </form> 

例子,cookie+md5方法,代碼如下:

  1. <?php 
  2.  
  3. $value = $_COOKIE[“value”]; //讀取上一次設置的Cookie值 
  4.  
  5. ifcount$_POST)) { 
  6.  
  7. $long = “”; 
  8.  
  9. while(list($key,$value)=each($_POST))$long.=$value
  10.  
  11. $hash = md5($long); 
  12.  
  13. setcookie(“value”,$hash,time()+60*60); //重新設置cookie 
  14.  
  15.  
  16. if$value!=$hash) { 
  17.  
  18. // 如果兩次的MD5值不一樣就對數據進行進一步操作 
  19.  
  20. else { 
  21.  
  22. //如果兩次MD5的值相同,告知用戶提交失敗 ,為重復提交表單 
  23.  
  24.  
  25. ?> 

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 井陉县| 方正县| 休宁县| 兴海县| 石楼县| 乡城县| 和平县| 广平县| 长葛市| 彰武县| 阿拉善右旗| 彭山县| 佛冈县| 汕尾市| 麻栗坡县| 和田市| 鲁甸县| 西乡县| 汨罗市| 邳州市| 天柱县| 农安县| 华池县| 长丰县| 普安县| 岚皋县| 四川省| 亚东县| 门头沟区| 文水县| 和平区| 清远市| 北辰区| 潜江市| 富阳市| 斗六市| 应用必备| 襄城县| 昆山市| 商丘市| 井冈山市|