Token

創(chuàng)新互聯(lián)是網(wǎng)站建設(shè)技術(shù)企業(yè),為成都企業(yè)提供專(zhuān)業(yè)的網(wǎng)站制作、成都做網(wǎng)站,網(wǎng)站設(shè)計(jì),網(wǎng)站制作,網(wǎng)站改版等技術(shù)服務(wù)。擁有十多年豐富建站經(jīng)驗(yàn)和眾多成功案例,為您定制適合企業(yè)的網(wǎng)站。十多年品質(zhì),值得信賴(lài)!
就是令牌,最大的特點(diǎn)就是隨機(jī)性,不可預(yù)測(cè)。
Token一般用在兩個(gè)地方——防止表單重復(fù)提交、anti csrf攻擊(跨站點(diǎn)請(qǐng)求偽造)。
兩者在原理上都是通過(guò)session token來(lái)實(shí)現(xiàn)的。當(dāng)客戶端請(qǐng)求頁(yè)面時(shí),服務(wù)器會(huì)生成一個(gè)隨機(jī)數(shù)Token,并且將Token放置到session當(dāng)中,然后將Token發(fā)給客戶端(一般通過(guò)構(gòu)造hidden表單)。下次客戶端提交請(qǐng)求時(shí),Token會(huì)隨著表單一起提交到服務(wù)器端。
如果應(yīng)用于“防止表單重復(fù)提交”,服務(wù)器端第一次驗(yàn)證相同過(guò)后,會(huì)將session中的Token值更新下,若用戶重復(fù)提交,第二次的驗(yàn)證判斷將失敗,因?yàn)橛脩籼峤坏谋韱沃械腡oken沒(méi)變,但服務(wù)器端session中Token已經(jīng)改變了。
表單在網(wǎng)頁(yè)中主要負(fù)責(zé)數(shù)據(jù)采集功能。一個(gè)表單有三個(gè)基本組成部分: 表單標(biāo)簽:這里面包含了處理表單數(shù)據(jù)所用CGI程序的URL以及數(shù)據(jù)提交到服務(wù)器的方法。 表單域:包含了文本框、密碼框、隱藏域、多行文本框、復(fù)選框、單選框、下拉選擇框和文件上傳框等。 表單按鈕:包括提交按鈕、復(fù)位按鈕和一般按鈕;用于將數(shù)據(jù)傳送到服務(wù)器上的CGI腳本或者取消輸入,還可以用表單按鈕來(lái)控制其他定義了處理腳本的處理工作。
php表單加入Token防止重復(fù)提交
原理在于生成一個(gè)隨機(jī)字符串放在session里,提交表單后來(lái)驗(yàn)證這個(gè)字符串,可以做到防止他人自己寫(xiě)form來(lái)欺騙提交,重復(fù)提交或者雙擊提交。
簡(jiǎn)單實(shí)現(xiàn)(僅供參考):
<?php
/*
* PHP簡(jiǎn)單利用token防止表單重復(fù)提交
* 此處理方法純粹是為了給初學(xué)者參考
*/
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為空則生成一個(gè)token
if(!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防止表單重復(fù)提交的方法的詳細(xì)內(nèi)容,更多請(qǐng)關(guān)注創(chuàng)新互聯(lián)其它相關(guān)文章!
當(dāng)前題目:php如何防止表單重復(fù)提交
本文網(wǎng)址:http://www.chinadenli.net/article24/gshjce.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站排名、商城網(wǎng)站、標(biāo)簽優(yōu)化、微信公眾號(hào)、網(wǎng)站改版、自適應(yīng)網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
網(wǎng)頁(yè)設(shè)計(jì)公司知識(shí)