PHP防止post重復(fù)提交數(shù)據(jù)的簡(jiǎn)單例子
在某帝國(guó)面試的時(shí)候問(wèn)題了這個(gè)題: 怎么處理post提交重復(fù)的問(wèn)題, 后來(lái)跟@暖陽(yáng)交流,他說(shuō)記錄時(shí)間,我沒(méi)有明白,我想的是用session在表單頁(yè)面記錄下,然后提交頁(yè)面判斷,如果相等則視為成功,并清空session,但有個(gè)問(wèn)題是如果表單頁(yè)面是html的呢,乍辦?要不調(diào)個(gè)php驗(yàn)證的頁(yè)面?類(lèi)似驗(yàn)證碼的功能. 還有的說(shuō)用 header頭設(shè)置過(guò)期時(shí)間...但沒(méi)試.以下是我php寫(xiě)的,經(jīng)測(cè)試可用.
<?php
//開(kāi)啟session
session_start();
//如果有提交標(biāo)識(shí)
if(isset($_GET['action']) && $_GET['action'] === 'save'){
//如果有session且跟傳過(guò)來(lái)的值一樣才算提交
if(isset($_SESSION['__open_auth']) && isset($_POST['auth']) && $_SESSION['__open_auth'] == $_POST['auth']){
print_r($_POST);
$_SESSION['__open_auth'] = null;//清空
} else {
//走起
header("location: post.php");
}
exit();
}
//授權(quán)
$auth = $_SESSION['__open_auth'] = time();
?>
<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<title>post</title>
</head>
<body>
<form action="post.php?action=save" method="post">
<ul>
<li>
<input type="hidden" name="auth" value="<?php echo $auth;?>">
<input type="text" name="userName">
</li>
<li>
<input type="password" name="userpass">
</li>
<li>
<input type="submit" value="走起">
</li>
<li>
<?php echo time(); ?>
</li>
</ul>
</form>
</body>
</html>
- php中使用Curl、socket、file_get_contents三種方法POST提交數(shù)據(jù)
- php采用ajax數(shù)據(jù)提交post與post常見(jiàn)方法總結(jié)
- php curl模擬post提交數(shù)據(jù)示例
- 解析PHP 使用curl提交json格式數(shù)據(jù)
- PHP中如何判斷AJAX提交的數(shù)據(jù)
- php jq jquery getJSON跨域提交數(shù)據(jù)完整版
- php防止偽造的數(shù)據(jù)從URL提交方法
- php判斷文件上傳類(lèi)型及過(guò)濾不安全數(shù)據(jù)的方法
- php過(guò)濾所有惡意字符(批量過(guò)濾post,get敏感數(shù)據(jù))
- PHP數(shù)據(jù)過(guò)濾的方法
- php 字符過(guò)濾類(lèi),用于過(guò)濾各類(lèi)用戶(hù)輸入的數(shù)據(jù)
- PHP數(shù)據(jù)的提交與過(guò)濾基本操作實(shí)例詳解
相關(guān)文章
PHP 修復(fù)未正常關(guān)閉的HTML標(biāo)簽實(shí)現(xiàn)代碼(支持嵌套和就近閉合)
PHP 修復(fù)未正常關(guān)閉的 HTML 標(biāo)簽 支持嵌套和就近閉合,需要的朋友可以參考下2012-06-06
PHP讓網(wǎng)站移動(dòng)訪問(wèn)更加友好方法
在本文里我們給大家整理了關(guān)于PHP讓網(wǎng)站移動(dòng)訪問(wèn)更加友好的相關(guān)實(shí)例代碼以及相關(guān)知識(shí)點(diǎn),有需要的朋友們學(xué)習(xí)下。2019-02-02
win7計(jì)劃任務(wù)定時(shí)執(zhí)行PHP腳本設(shè)置圖解
這篇文章主要介紹了win7計(jì)劃任務(wù)定時(shí)執(zhí)行PHP腳本設(shè)置圖解,需要的朋友可以參考下2014-05-05
CodeIgniter開(kāi)發(fā)實(shí)現(xiàn)支付寶接口調(diào)用的方法示例
這篇文章主要介紹了CodeIgniter開(kāi)發(fā)實(shí)現(xiàn)支付寶接口調(diào)用的方法,結(jié)合實(shí)例形式分析了CodeIgniter開(kāi)發(fā)支付寶接口的操作步驟與相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下2016-11-11
使用swoole 定時(shí)器變更超時(shí)未支付訂單狀態(tài)的解決方案
本文主要是借助 swoole 定時(shí)器和 redis 的 zset 來(lái)實(shí)現(xiàn)的定時(shí)檢查并過(guò)期未支付訂單,感興趣的朋友跟隨小編一起看看吧2019-07-07

