溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

php中表單的重復(fù)提交怎么通過記錄IP來防止

發(fā)布時間:2020-12-11 15:56:38 來源:億速云 閱讀:325 作者:Leah 欄目:開發(fā)技術(shù)

php中表單的重復(fù)提交怎么通過記錄IP來防止?相信很多沒有經(jīng)驗的人對此束手無策,為此本文總結(jié)了問題出現(xiàn)的原因和解決方法,通過這篇文章希望你能解決這個問題。

原理比較的簡單就是用戶第一次提交時我們記錄提交用戶的IP地址,這樣如果用戶在固定時間內(nèi)再次提交表單就會提示重復(fù)提交了,這種做法通常用于在頂一下,支持一下這種應(yīng)用中了,在防止數(shù)據(jù)重復(fù)提交是一個非常不好的選擇.

例子,代碼如下:

<?php 
session_start(); if(empty($_SESSION['ip']))//第一次寫入操作,判斷是否記錄了IP地址,以此知道是否要寫入數(shù)據(jù)庫 { $_SESSION['ip']=$_SERVER['REMOTE_ADDR'];//第一次寫入,為后面刷新或后退的判斷做個鋪墊 mysql_query("INSERT INTO admin(id, name, age) VALUES(123, '姚明', 25)");//寫入數(shù)據(jù)庫操作 }else//已經(jīng)有第一次寫入后的操作,也就不再寫入數(shù)據(jù)庫 { echo '請不要重復(fù)提交表單或刷新頁面';//寫一些已經(jīng)寫入的提示或其它東西 } ?>


還有辦法就是:

1:在頁面生成隨機(jī)碼,也就是每次提交隨機(jī)碼都不一樣,在提交的時候驗證隨機(jī)碼!

2:在提交的時候,驗證如果數(shù)據(jù)存在,就不提交了.

如果你想防止重復(fù)提交入庫IP不是最好的辦法,我們可以在數(shù)據(jù)庫中查詢是不是有相同記錄并且IP是不是想同再進(jìn)行處理.

例子,代碼如下:

$sql ="select * from 表名 where buy_tel='電話' and IP='$ip'   ";// and $time-buy_date<60 
$query = $db->query( $sql ); if( $db->rows( $query ) ) { echo('<script>alert("您己提交過了,請勿重復(fù)提交!");</script>'); } else { //進(jìn)行入庫操作 }

看完上述內(nèi)容,你們掌握php中表單的重復(fù)提交怎么通過記錄IP來防止的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注億速云行業(yè)資訊頻道,感謝各位的閱讀!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI