<?php
/*
* PHP简单利用token防止表单重复提交
*/
function set_token() {
$_SESSION['token'] = md5(microtime(true));
}

function valid_token() {
$return = $_REQUEST['token'] === $_SESSION['token'] ? true : false;
set_token(); //重新设置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 time();
}
}
?>
<form method="post" action = "">
<input type="hidden" name="token" value="<?php echo $_SESSION['token']; ?>" />
<input type="text" name="test" value="good" />
<input type="submit" />
</form>

最新文章

  1. linux TLS 线程本地变量
  2. Web自动化测试 Selenium 3/3 https的配置
  3. shell-bash学习04读取输入、分隔符、流程控制
  4. HDU 1850 Being a Good Boy in Spring Festival
  5. DNS(三)DNS SEC(域名系统安全扩展)
  6. 云平台编程与开发(七)-使用X5Cloud云平台开发网络彩讯
  7. MVC框架个人浅析
  8. 代写java程序qq:928900200
  9. 《HelloGitHub》第 13 期
  10. asp.net core封装layui组件示例分享
  11. win10系统下如何用命令行的方式打开画图软件
  12. JavaScript如何正确处理Unicode编码问题!
  13. css3 实现图片等比例放大与缩小
  14. [UGUI]修改顶点
  15. jquery获取焦点位于的元素
  16. 快速排序之Java实现
  17. 老周发布 UWP 应用的隐私策略(通用)
  18. 深入分析JavaWeb Item7 -- HttpServletResponse详解
  19. LNMP环境下SendMail+OpenWebMail的详细配置
  20. PyQt实现测试工具

热门文章

  1. &lt;select&gt;与&lt;datalist&gt;的区别
  2. 百度的一个Ajax跨域方法 JavaScript是没有域的限制
  3. 《C++程序设计》上半部读书笔记
  4. 老oj2146 &amp;&amp; Pku2135 Farm Tour
  5. 批处理WMIC查看补丁情况
  6. python global 全局变量
  7. ParentWindow属性及其一系列函数的作用——适合于那些不需要父控件管理内存释放的子控件
  8. 【HDOJ】2822 Dogs
  9. swiper 多个循环的实现
  10. 学习Javascript闭包(Closure) by 阮一峰