Heim  >  Artikel  >  Backend-Entwicklung  >  PHP简单利用 token 防止表单重复提交

PHP简单利用 token 防止表单重复提交

巴扎黑
巴扎黑Original
2016-11-22 11:08:35985Durchsuche

<?php
/*
* PHP简单利用token防止表单重复提交
* 此处理方法纯粹是为了给初学者参考
*/
session_start();
function set_token() {
$_SESSION[&#39;token&#39;] = md5(microtime(true));
}
function valid_token() {
$return = $_REQUEST[&#39;token&#39;] === $_SESSION[&#39;token&#39;] ? true : false;
set_token();
return $return;
}
//如果token为空则生成一个token
if(!isset($_SESSION[&#39;token&#39;]) || $_SESSION[&#39;token&#39;]==&#39;&#39;) {
set_token();
}
if(isset($_POST[&#39;test&#39;])){
if(!valid_token()){
echo "token error";
}else{
echo &#39;成功提交,Value:&#39;.$_POST[&#39;test&#39;];
}
}
?>
<form method="post" action="">
<input type="hidden" name="token" value="<?php echo $_SESSION[&#39;token&#39;]?>">
<input type="text" name="test" value="Default">
<input type="submit" value="提交" />
</form>

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:php预定义异常Nächster Artikel:php预定义变量