• 关于Struts的Token


    请求有效性处理,使用令牌可以有效的防止重复提交。
    protected String generateToken(HttpServletRequest request) 创建一个令牌.
    protected boolean isTokenValid(HttpServletRequest request) 检查令牌是否有效
    protected boolean isTokenValid(HttpServletRequest request,Boolean reset) 检查令牌是否有效,并且重置令牌(如果reset 是true)
    protected void resetToken(HttpServletRequest request) 重置令牌
    protected void saveToken(HttpServletRequest request) 添加令牌

    基本原理:

    服务器端在处理到达的请求之前,会将请求中包含的令牌值与保存在当前用户会话中的令牌值进行比较,
    看是否匹配。在处理完该请求后,且在答复发送给客户端之前,将会产生一个新的令牌,该令牌除传给
    客户端以外,也会将用户会话中保存的旧的令牌进行替换。这样如果用户回退到刚才的提交页面并再次
    提交的话,客户端传过来的令牌就和服务器端的令牌不一致,从而有效地防止了重复提交的发生。

     实例:

    Code

    这个Action主要作用就是在跳转的页面上加入Token,只有加入Token才能实现Token的验证。执行完这个Action后,跳转到的页面会出现类似如下的一个hidden控件

    Code

    那么恭喜你,Token生效拉,注意,跳转到的页面里面,表单指可以用Struts标签来生成,不可以用HTML来生成,不然Token是无效的。

    使用Token的第一步完成,第二步,在提交的Action中验证Token是否符合,代码如下:

    Code

    这样就完成了防止表单重复提交的功能。

    实例源码下载

  • 相关阅读:
    three.js: Control gui and play sound set Volume
    Three.js: 显示自定义的中文字体
    P2P学习(四)P2P编程实现
    WebRTC进阶流媒体服务器开发(六)Mediasoup源码分析之Mediasoup主业务流程
    WebRTC进阶流媒体服务器开发(五)Mediasoup源码分析之Mediasoup启动过程
    WebRTC进阶流媒体服务器开发(四)Mediasoup源码分析之底层库
    WebRTC进阶流媒体服务器开发(三)Mediasoup源码分析之应用层(代码组成、Server.js、Room.js)
    WebRTC进阶流媒体服务器开发(二)Mediasoup环境配置
    WebRTC进阶流媒体服务器开发(一)多人互动架构
    WebRTC学习(十一)实时数据传输网络协议详解
  • 原文地址:https://www.cnblogs.com/xiaoao808/p/1258067.html
Copyright © 2020-2023  润新知