首页 > 编程 > PHP > 正文

PHP使用Token

2019-11-11 05:19:55
字体:
来源:转载
供稿:网友

什么是Token

Token 中文翻译为令牌,一般用来防止表单重复提交,csrf跨站请求伪造。 保证web安全。 Token原理: 服务端会先创建一个Token,保存在session中,客户端中添加<input type="hidden" name="token" value="<?php $_SESSION['token']?>"/>,提交表单时,服务端会获取token的值,如果值和session设置的值不同,表明重复提交或者为csrf攻击。

例子

<?phpsession_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>
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表