国产探花免费观看_亚洲丰满少妇自慰呻吟_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處理前修改它,不然無法比對 www.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. ?> 

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 武清区| 措勤县| 乐亭县| 内黄县| 新巴尔虎右旗| 易门县| 宣化县| 汝阳县| 吴桥县| 荆门市| 桐柏县| 尼勒克县| 杭锦后旗| 崇文区| 资阳市| 高淳县| 山丹县| 宿州市| 册亨县| 宣武区| 都兰县| 邯郸县| 迭部县| 元阳县| 周至县| 小金县| 永丰县| 利辛县| 乐清市| 灯塔市| 宜兰市| 达州市| 蓝山县| 绥滨县| 景洪市| 礼泉县| 金乡县| 综艺| 永靖县| 昭平县| 永平县|