?php
我們提供的服務(wù)有:網(wǎng)站設(shè)計制作、網(wǎng)站設(shè)計、微信公眾號開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、安慶ssl等。為1000多家企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的安慶網(wǎng)站制作公司
/*
*?PHP簡單利用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為空則生成一個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
如果不是特別要求,直接接收id的值,再檢查當(dāng)前用戶有沒權(quán)限刪除,就可以了。
如果真的要驗證碼的話,我用這種思路
認(rèn)證碼式 = md5(編號+時間+固定字符)
del.php?id=編號check_code=認(rèn)證碼
del.php頁面先比較一個傳遞過來的認(rèn)證碼是否正確
思路差不多這樣,當(dāng)然這個還不夠嚴(yán)密,并存在一定問題,還可以改進(jìn)
1.請求頭里帶用戶username和password,到服務(wù)器端做驗證,通過才繼續(xù)下邊業(yè)務(wù)邏輯。
優(yōu)點:防止了服務(wù)器端api被隨意調(diào)用。
缺點:每次都交互用戶名和密碼,交互量大,且密碼明文傳輸不安全。
2.第一次請求,要求username和password,驗證通過,種cookie到客戶端,app保存cookie值。
每次請求帶上cookie。
點評:和pc上瀏覽器認(rèn)證的原理一樣了。
以上兩點,只有注冊用戶,才能有權(quán)訪問業(yè)務(wù)邏輯,而app有大量的不需要注冊數(shù)據(jù)api。