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

首頁 > 開發 > PHP > 正文

php防止站外遠程提交表單例子

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

防止站長提交表單無非就是對每一次打開表單或提交數據都會需要加一個token來進行驗證了,這個其實與驗證碼做法沒什么兩樣了,下面來看幾個防止站外遠程提交表單的例子.

例子一,我們每一次打開提交頁面生成一個token然后保存在session中,當表單提交時我們來判斷當前的token值與session是否一致,如果是的就是正常提交否則就是無效提交了.

PHP實例代碼如下:

  1. <?php      
  2. session_start();      
  3.       
  4. if ($_POST['submit'] == "go"){      
  5.     //check token      
  6.     if ($_POST['token'] == $_SESSION['token']){      
  7.         //strip_tags      
  8.         $name = strip_tags($_POST['name']);      
  9.         $name = substr($name,0,40);      
  10.         //clean out any potential hexadecimal characters      
  11.         $name = cleanHex($name);      
  12.         //continue processing....      
  13.     }else{      
  14.         //stop all processing! remote form posting attempt!      
  15.     }      
  16. }      
  17.       
  18. $token = md5(uniqid(rand(), true));      
  19. $_SESSION['token']= $token;      
  20.       
  21.  function cleanHex($input){      
  22.     $clean = preg_replace("![\][xX]([A-Fa-f0-9]{1,3})!""",$input);      
  23.     return $clean;      
  24. }      
  25. ?>      
  26. <form action="<?php echo $_SERVER['PHP_SELF'];?>" method="post">      
  27. <p><label for="name">Name</label>      
  28. <input type="text" name="name" id="name" size="20" maxlength="40"/></p>      
  29. <input type="hidden" name="token" value="<?php echo $token;?>"/>     //開源代碼Vevb.com 
  30. <p><input type="submit" name="submit" value="go"/></p>      
  31. </form> 

還有一種比較明顯的做法就是利用驗證碼,這種驗證碼的方式與其它的方式是一樣的,下面看個簡單的例子.

增加驗證碼:表單提交時候增加驗證碼,可以有效防止灌水機提交數據,但是隨著圖形圖像識別程序變的更加強大,驗證碼識別也不斷的在提高他的難度,有些驗證碼甚至加入了聲音的識別,一些小站點可以采用這樣的方式,代碼如下:

if($_POST['vcode'] != get_vcode())
{
    exit('驗證碼校驗失敗,無法入庫');
}

具體的例子就不介紹了網上很多驗證的相關例子.

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 磐安县| 镇赉县| 蚌埠市| 邹城市| 冕宁县| 上蔡县| 巨鹿县| 化德县| 淳化县| 随州市| 扎赉特旗| 玛多县| 化德县| 房山区| 泾川县| 平安县| 灵丘县| 民勤县| 威远县| 南昌县| 佛学| 当涂县| 马公市| 米易县| 吴桥县| 青阳县| 钟祥市| 弥勒县| 五华县| 西宁市| 信宜市| 黑龙江省| 大悟县| 晋州市| 团风县| 蓬溪县| 高尔夫| 扎鲁特旗| 威海市| 乐平市| 南和县|