防止双重表单提交[重复]

2023-11-23

精确复制: 如何在服务器端处理多个提交

当前的一般任务:防止在多用户基于 Web 的应用程序中提交双重表单。想想金融交易。

我有两种可以同时使用的方法:

  1. JavaScript disabling of button
    • 缺点:如果 JavaScript 被禁用则不起作用
  2. Back-end verfication - see how long ago the last request of this type came from this user and issue error if not too long ago
    • 缺点:如果两个提交的内容足够接近,则每个提交可能无法知道另一个

我正在寻找主题专家来贡献他们的最佳实践以及深奥的技巧。可以是任何语言和框架,但 Django 是特别感兴趣的。网络上已经写了很多关于手头任务的文章,但最好能在这里展示最佳实践。


常见的解决方案是每次生成表单时在服务器上生成一个令牌。将令牌存储在服务器上,将其作为隐藏字段添加到表单中,并在收到使用该令牌的表单提交后将其删除。

如果您收到没有有效令牌的表单提交,则意味着该表单已经提交并忽略它。

这具有向您的项目添加 XSRF 保护的额外优势。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

防止双重表单提交[重复] 的相关文章

  • 将 MS-Access 表单结果导出到 Excel?

    我对 Access 有点陌生 我在将 MySQL 和 Oracle 与 PHP 集成以创建基于 Web 的数据库搜索引擎方面拥有一些经验 但我很难理解 Access 的某些概念 我有一个小型数据库 其中包含大约 200 个条目 每个条目有
  • 将字符串编码为 HTML 字符串 Swift 3

    如何快速编码字符串以删除所有特殊字符并将其替换为其匹配的 html 编号 假设我有以下字符串 var mystring This is my String That s it 然后用它的html编号替换特殊字符 38 39 gt 62 但我
  • Symfony2 表单提交后刷新同一页面

    我有一个表单 其内容是从数据库创建的 在我的控制器中我有 Route HR manage projectID name hr manage public function manageHRAction Request request pro
  • 如何使页面上的所有内容变大?

    如果我在浏览器中打开我的网站并按Ctrl 有几次 一切都变得更大 网站对我来说看起来更好 我可以通过在 HTML 代码中添加一些内容来实现相同的效果吗 以便用户默认看到更大的所有内容 而无需按Ctrl 我想让所有东西都变大 文本和图像 如果
  • 将一个 div 放置在另一个 div 的底部

    我有外部 div 和内部 div 我需要将内部 div 放在外部 div 的底部 外层div是有弹性的 例如宽度 70 我还需要将内部块居中 所述化妆的简单模型如下图所示 已在 Firefox 3 Chrome 1 和 IE 6 7 和 8
  • 通过电子邮件发送在 HTML5 画布上创建的图像

    我有一个画布 用户可以通过交互来更改设计 现在 用户完成更改后 可以提交他的设计及其电子邮件 ID 但为了提交设计 我使用以下方法将画布转换为图像http www nihilogic dk labs canvas2image http ww
  • 从 UnityWebGL jslib 返回字符串

    我想使用 jslib 来获取网址参数 像这样的代码 jslib GetUrl function var s var strUrl window location search var getSearch strUrl split var g
  • 如何将 django ModelForm 字段显示为不可编辑

    接受我的初步教训django ModelForm 我想让用户能够编辑博客中的条目 BlogEntry has a date postedTime title and content 我想向用户展示一个编辑表单 其中显示所有这些字段 但仅包含
  • jQuery 显示/隐藏兄弟姐妹

    我有这段代码 旨在首先隐藏除第一个元素之外的所有相关元素 这个 做的不错啊接下来 它应该根据选择的项目显示 隐藏这些元素 但这部分不起作用 想法 jQuery accordion dl not first child hide hide a
  • 当内部图像缩放时,包裹 div 不会调整大小(窗口大小调整的结果)

    我希望我的图像随着窗口高度的变化而调整大小 同时保持包含的 div 收缩包裹图像 我尝试使用 div img src http akamaicovers oreilly com images 9780596806767 cat gif al
  • 网页执行回发时如何停止在注册表单上?

    我正在做我的最后一年的项目 其中 我在一页上有登录和注册表单 WebForm 当用户点击锚点时Sign Up下拉菜单ddlType 隐藏 和文本框 txtCustName txtEmail and txtConfirmPassword 显示
  • WebElement 上的 Selenium WebDriver“find_element_by_xpath”

    我正在尝试使用以下行查找元素 elements driver find elements by xpath div class Display 一旦我有了元素 我知道有两个 显示 我希望能够使用第二个元素并在其中找到一个特定元素 如下所示
  • 将 SqlDataReader 中的数据放入 HTML 表中

    我在数据库中有一些数据可以用来读取SqlDataReader 我想将它们放入我的 ASP NET 站点的 HTML 表中 但我不知道该怎么做 您可以使用网格视图 它是一个 asp net 控件 您只需将 datareader 绑定到 gri
  • CSS - 设置 Div 的大小以填充剩余空间

    我是 CSS 新手 我正在尝试创建模板的准系统结构 我有一个用于页眉 主要内容和页脚的 div 我的页脚和页眉很好 但我需要主要内容 div 来 填充 页眉和页脚之间的剩余空间 我尝试将 padding bottom 属性设置为与页脚相同的
  • Javascript 当我们在 Chrome 中选择“停留在页面上”时如何调用函数

    请在 Chrome 浏览器中检查我的代码 如果您点击刷新 系统会提示您 2 个选项 离开此页面并 保持此页上 当我点击2 停留在此页面按钮它必须激活我的自定义功能显示消息 任何人都可以为我提供解决方案吗
  • 悬停时的 SVG 过滤器标签

    我正在尝试通过此过滤器对 SVG 进行动画处理
  • 在选择下拉列表中选择特定选项时添加输入框

    我需要在选择选项时将输入添加到选择选项中 每当用户选择 其他 时 就会出现一个输入框供用户输入数据 HTML
  • 一个输入字段,多个名称

    在 HTML 表单中 如何从一个输入字段获取两个姓名 是否可以通过隐藏的输入字段 如何 我试图使隐藏字段值动态等于非隐藏字段值 这样无论用户写什么 它们都相等 但我确信它不起作用 而不是像这样的东西是否会起作用工作 Here http ww
  • 是否可以在 html 中将单选按钮标签助手值属性设置为“已选中”?

    我正在寻找一种方法来使用单选按钮标签帮助器上的值属性来通知按钮是否被选中 而不是使用单独的字段进行选择 我找到了 Shyju 的答案相关问题 https stackoverflow com questions 34570908 radio
  • 如何使 CSS 动画/过渡以固定速度而不是固定持续时间播放? [复制]

    这个问题在这里已经有答案了 我有一个 CSS 动画 可以使元素沿直线移动未定义的距离 据我所知 动画具有固定的持续时间 因此无论元素必须移动多远 动画始终需要相同的时间来运行 我该如何制作才能使动画没有固定的duration 但有固定的运动

随机推荐

  • 来自 Week 和 WeekYear 的 LocalDate

    使用 NodaTime 库 如何根据周数和周 WeekYear 计算一周第一天的 LocalDate 与此相反 var date new LocalDate 2012 1 1 int weekYear date WeekYear 2011
  • 如何制作一个字典,返回字典中缺少的键的键,而不是引发 KeyError?

    我想创建一个 python 字典 它返回字典中缺少的键的键值 使用示例 dic smart dict dic a one a print dic a gt gt gt one a print dic b gt gt gt b dicts 有
  • 如何使用 HQL 将“null”放入列中?

    如何构建有效的HQL字符串 相当于 UPDATE 表 SET 字段 null WHERE 您的意思是批量 HQL 更新吗 尝试这个 UPDATE myEntity e SET e myProperty null WHERE 您还可以使用上述
  • 在 iPhone 上存储用户名和密码的最佳做法是什么?

    是否有在 iPhone 上存储用户名和密码的最佳实践方法 我正在寻找明显安全的东西 但也会在应用程序更新之间保留信息 使用苹果钥匙串 NSString getPasswordForUsername NSString username and
  • “显示完整站点”按钮可绕过 CSS 媒体查询

    我在我的网站上使用 CSS 媒体查询 以在较小的设备上切换到更垂直的布局 这工作得很好 但我想在网站上添加一个按钮 其中包含 显示桌面版本 之类的内容 我想让这个按钮 或链接 无论什么 强制或改变媒体查询评估 以便它们评估好像屏幕宽度比实际
  • Jenkins 在 Mercurial 提交后构建

    我已经在这个项目上工作了大约一周 我已经在网上搜索了两天 没有任何明确的解释 对于学校作业 我们需要使用以下程序设置构建服务器 Maven 作为我们的构建工具 Mercurial 作为我们的版本控制系统 Java JRE javac 和 j
  • 愤怒的小鸟喜欢滚动菜单

    当您启动 愤怒的小鸟 并点击 开始 时 您会看到一个水平滚动的菜单 其中有一条居中的图像 单击后您就可以开始游戏等等 我想知道如何制作一个与此类似的菜单 它可以横向滚动 水平 并显示可点击的图像 提前致谢 我认为你可以通过水平滚动视图 Ho
  • 无法在函数内访问 jQuery $.get 中的全局变量

    下面是我遇到问题的一些代码 基本上 我将一个空数组定义为全局变量 var playlist 然后尝试在 jQuery get 调用中向其中添加元素 根据我在互联网上读到的内容 我应该能够做到这一点 以下代码给出错误 无法调用未定义的方法 p
  • 混合类型类和类型族时出现问题

    这段代码编译得很好 LANGUAGE MultiParamTypeClasses FunctionalDependencies FlexibleInstances UndecidableInstances FlexibleContexts
  • 如何使用@Autowired像工厂模式一样动态注入实现

    我对 Sprint 相当陌生 我的应用程序使用 Spring 3 x 和 roo1 1 1 我有一个接口的多个实现 该接口将被 Autowired 到其他不同的类中 我只能在运行时决定采用哪种实现 这应该通过类似工厂模式来实现 public
  • 如何为登录用户更改 ionic 中的侧菜单

    我想在用户登录时更改侧面菜单的内容 示例 1 用户未登录 当用户未登录时 会显示此侧面菜单 示例 2 用户已登录 正如您所看到的 有几个额外的菜单项 这些仅在用户登录时显示 在我的控制器中 http get http 127 0 0 1 8
  • 使用 IntelliJ IDEA 生成 JavaDoc 中的图像[重复]

    这个问题在这里已经有答案了 我正在尝试将图像包含在我的 JavaDoc 中 我跟随文档并将图像存储在doc files在包目录中 我的 javadoc 看起来像 This is class desctiprion Image p img s
  • 获取当前用户上下文

    我在从不同位置 C 应用程序 Web 服务 运行 powershellscript 时遇到问题 我认为这是一个用户上下文问题 所以现在我试图找出 powershell 脚本在哪个用户上下文下运行 是否有可能记录 powershell 脚本的
  • 从另一个视图类重新加载集合视图数据

    我的视图中有两个容器 最上面有一个集合视图 当从下面的容器点击按钮时 我想通过按钮更新我的集合视图 我的按钮还更改了我的集合视图使用的数组的值 我以为 didSet 可以完成这项工作 但不幸的是没有成功 Top class TopViewC
  • ASP.NET MVC5 未针对请求的 URL 配置 Web 服务器,并且服务器上未启用目录浏览

    我在从 MVC5 应用程序加载页面时遇到问题 我安装并使用了这个软件 Windows 10 Visual Studio 企业版 2015 微软 IIS 10 0 Express MVC 5 与实体框架 到目前为止 一切正常 我能够显示该网站
  • JSON.parse意外字符错误

    我收到此错误 JSON parse 意外字符 当我在萤火虫中运行此语句时 JSON parse balance 0 count 0 time 1323973673061 firstname howard userId 5383 locali
  • 为简单的 WCF 服务启用基本身份验证?

    我有一个非常简单的 WCF Web 服务 客户在自己的 IIS 上托管该服务 客户有自己的客户端 他们一直在测试环境中对其进行测试 一切都工作正常 直到他们禁用匿名身份验证并启用基本身份验证 一旦他们这样做了 他们就开始出现错误 The a
  • Firestore 时间戳获取 null

    我在我的 android 项目中使用 firestore 一切正常 但是昨天从文档快照获取时间戳值时出现了问题 if documentChange getType DocumentChange Type ADDED Map
  • 自动生成命令以在工作区中重现对象[重复]

    这个问题在这里已经有答案了 假设工作区中已经定义了一个对象 a lt round rnorm 10 1 0 1 1 1 1 0 2 1 1 1 如何以编程方式生成一个命令来创建a 例如 我想使用a在我的工作区中生成以下字符串codeToCr
  • 防止双重表单提交[重复]

    这个问题在这里已经有答案了 精确复制 如何在服务器端处理多个提交 当前的一般任务 防止在多用户基于 Web 的应用程序中提交双重表单 想想金融交易 我有两种可以同时使用的方法 JavaScript disabling of button 缺