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>
相关文章推荐
- PHP使用token防止表单重复提交的方法
- php获取微信公众帐号access_token存储并长期使用
- 在SAE上使用wx_sample.php获取token失败问题
- php token使用与验证示例【测试可用】[原创]_php技巧_脚本之家
- thinphp3.2 使用微信扩展类 token验证失败
- php token使用与验证示例
- PHP使用token防止表单重复提交的方法
- [置顶] 使用OAuth2 Server PHP实现OAuth2服务----实现token
- 在FREEBSD 5.2中使用Pureftpd + MySQL + Pureftpd_php_manager架设FTP SERVER
- 使用PHP进行十六进制编码转换
- 使用phpnuke建站心得
- 使用tar实现压缩与解压缩(原文在:http://dash.945.cn/article.php/79)
- 使用PHP实现繁体与简体互转
- 关于PHP与Sybase数据库的连接与使用
- 使用PHP4中的 IntegratedTemplate类实现HTML和PHP代码分离
- 在PHP中使用远程文件
- 在PHP中使用远程文件
- 使用PHP DOM-XML创建和解析XML文件
- PHP使用无限生命期Session的方法
- PHP-Web应用程序开发:使用模板(入门)