您的位置:首页 > 编程语言 > PHP开发

PHP使用Token

2017-02-06 15:17 204 查看

什么是Token

Token 中文翻译为令牌,一般用来防止表单重复提交,
csrf
跨站请求伪造。 保证web安全。

Token原理: 服务端会先创建一个Token,保存在
session
中,客户端中添加
<input type="hidden" name="token" value="<?php $_SESSION['token']?>"/>
,提交表单时,服务端会获取
token
的值,如果值和
session
设置的值不同,表明重复提交或者为
csrf
攻击。

例子

<?php
session_start();
function setToken() {
$_SESSION['token'] = md5(microtime());
}

function validToken() {
$return = ($_REQUEST['token'] === $_SESSION['token'] ? true : false);
setToken();
return $return;
}

if(!isset($_SESSION['token']) || $_SESSION['token'] == '') {
setToken();
}

if(isset($_POST['text'])) {
if(validToken()) {
echo time();
} else {
echo 'error';
}
}
?>

<html>
<body>
<form action="" method="post">
<input type="hidden" name="token" value="<?php $_SESSION['token']?>"/>
<input type="text" name="text" value="val"/>
<input type="submit" value="submit"/>
</form>
</body>
</html>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: