5位随机数重复的概率 php_php防止表单重复提交的方法
生活随笔
收集整理的這篇文章主要介紹了
5位随机数重复的概率 php_php防止表单重复提交的方法
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
Token,就是令牌,最大的特點就是隨機性,不可預測。
Token一般用在兩個地方——防止表單重復提交、anti csrf攻擊(跨站點請求偽造)。
兩者在原理上都是通過session token來實現的。當客戶端請求頁面時,服務器會生成一個隨機數Token,并且將Token放置到session當中,然后將Token發給客戶端(一般通過構造hidden表單)。下次客戶端提交請求時,Token會隨著表單一起提交到服務器端。
如果應用于“防止表單重復提交”,服務器端第一次驗證相同過后,會將session中的Token值更新下,若用戶重復提交,第二次的驗證判斷將失敗,因為用戶提交的表單中的Token沒變,但服務器端session中Token已經改變了。
php表單加入Token防止重復提交
原理在于生成一個隨機字符串放在session里,提交表單后來驗證這個字符串,可以做到防止他人自己寫form來欺騙提交,重復提交或者雙擊提交。
簡單實現(僅供參考):
<?php /* * PHP簡單利用token防止表單重復提交* 此處理方法純粹是為了給初學者參考 */session_start();function set_token() {$_SESSION['token'] = md5(microtime(true));}function valid_token() {$return = $_REQUEST['token'] === $_SESSION['token'] ? true : false;set_token();return $return;}//如果token為空則生成一個tokenif(!isset($_SESSION['token']) || $_SESSION['token']=='') {set_token();}if(isset($_POST['test'])){if(!valid_token()){echo "token error";}else{echo '成功提交,Value:'.$_POST['test'];}}?><form method="post" action=""><input type="hidden" name="token" value="<?php echo $_SESSION['token']?>"><input type="text" name="test" value="Default"><input type="submit" value="提交" /></form>以上就是php防止表單重復提交的方法的詳細內容,希望對你有所幫助。
總結
以上是生活随笔為你收集整理的5位随机数重复的概率 php_php防止表单重复提交的方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: bio linux 创建_不断升级,Ja
- 下一篇: pdf 天线理论与技术 钟顺时_虚拟仿真