Heim >Backend-Entwicklung >PHP-Tutorial >PHP verwendet einfach ein Token, um das wiederholte Senden von Formularen zu verhindern

PHP verwendet einfach ein Token, um das wiederholte Senden von Formularen zu verhindern

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

<?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 vordefinierte AusnahmeNächster Artikel:PHP vordefinierte Ausnahme