为了账号安全,请及时绑定邮箱和手机立即绑定

页面重新加载是否会导致发布?

页面重新加载是否会导致发布?

蝴蝶刀刀 2019-12-06 14:56:39
快速的问题,我已经尝试自己弄清楚这一点,但是在试图弄清页面为什么或如何重新加载以及正在/不应该执行其应做的工作时,会话变量的使用可能会造成混淆。在任何(非脚本化)情况下,页面重新加载(使用JavaScript,f5,ctrl + f5,浏览器重新加载按钮等)是否会导致表单重新发布?(这与在C#代码中使用IfPost分支有关,例如下面的示例代码):if(IsPost){    //stuff that only executes if the previous request was a post.}我只是需要知道在这里期望什么,以便可以正确诊断会话状态问题。谢谢你的帮助!(此外,如果我过分简化了这个问题,对不起。我意识到,这“可能”比简单的答案更复杂)。** * ** *更新* ** * ** * ** * 另外,我在这里在StackOverflow上查找此问题的副本,但没有看到任何内容,因此,如果这是重复的问题,我深表歉意。这两个答案都是好的答案。我接受了也为我的问题提供解决方案的答案,尽管PRG并不是解决问题的“唯一”方法,但似乎它是最好的方法。这似乎是一种处理客户端用户友好性的增长方法,恕我直言,这似乎是一个很好的习惯。感谢您向我展示!
查看完整描述

3 回答

?
慕田峪7331174

TA贡献1828条经验 获得超13个赞

一种解决方法是使用令牌。

  1. 发送随机字符串以及发布数据

  2. 将此随机字符串存储在某处

  3. 当检查发布数据时,请确保存储的字符串与发布请求中的字符串相同。

  4. 如果为true,则处理请求。

  5. 生成一个新令牌

如果有人要刷新并重新发送帖子数据,则帖子请求中的令牌将与您单独存储的令牌不同,因为您在步骤5中生成了新令牌


查看完整回答
反对 回复 2019-12-06
  • 3 回答
  • 0 关注
  • 529 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信