本文实例讲述了PHP使用token防止表单重复提交的方法。分享给大家供大家参考,具体如下:
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
<?php
/*
* PHP使用token防止表单重复提交
* 此处理方法纯粹是为了给初学者参考
*/
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>
|