struts令牌token

一.使用场景

(1)网络延迟的情况下,进行多次提交.

(2)表单提交后用户点击【刷新】按钮导致表单重复提交

(3)用户提交表单后,点击浏览器的【后退】按钮回退到表单页面后进行再次提交.

二.解决办法:token

token工作原理:客户端请求页面时,服务器会通过token标签生成一个随机标识号(专业术语是token),并且将token储存到当前用户的session当中,然后将Token发送到客户端的Form表单中,在Form表单中使用隐藏域来存储这个Token,如果客户第一次表单提交的时候连同这个Token一起提交到服务器端,然后在服务器端判断客户端提交上来的Token与服务器端生成的Token是否一致,如果一致,服务器认为是第一次提交,并且将清除服务器端的这个token值;如果此时再次重复提交,那么客户端发向服务器端的随机数还是之前的那个,而服务器端的随机数则已经发生了变化,两者不同,服务器就认为这是重复提交,进而转向invalid.token所指向的结果页面。

三.代码演示.

参考链接:http://www.cnblogs.com/xdp-gacl/p/3859416.html

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,281评论 19 139
  • 22年12月更新:个人网站关停,如果仍旧对旧教程有兴趣参考 Github 的markdown内容[https://...
    tangyefei阅读 35,287评论 22 257
  • 工作流程 一次HTTP操作称为一个事务,其工作过程可分为四步: 1)首先客户机与服务器需要建立连接。只要单击某个超...
    保川阅读 4,657评论 2 14
  • 尾巴太美了,爱的不行很适合拿来练习线条,嘻嘻。 还是没把鱼尾巴的疏密呈现出来,继续加油!
    晨星手绘阅读 945评论 6 4
  • 成长,是逼着自己在一条荆棘的路上踽踽前行。途中,你或许有失望,也或许有开心,或许想过退却。可是,世界上没有那么多的...
    嘟鹿阅读 204评论 0 0