问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

浏览器后退重复提交问题

发布网友 发布时间:2022-04-23 00:52

我来回答

3个回答

热心网友 时间:2022-04-23 02:22

  问题描述:比如有一个在线测试的页面,当用户提交页面之后,调到呈现测试结果的页面(这个页面中会给出参*之类的),这个时候就不能让用户再后退到之前的测试页面进行重新做题,然后提交了。有人可能会说,将用户做两次这样的情况放到服务器端的业务部分进行验证不就行了吗?这样是可以的,但是却增加了服务器端的负担(要先去数据库中查找相应的记录,然后再判断)。将这个功能尽量转移到客户端去做。下面是一些方法:
  (1)
  <scriptlanguage="JavaScript">
  javascript:window.history.forward(1); //目前先用着这个
  </script>
  利用JS产生一个“前进”的动作,以抵消后退功能,这种方法应该是最简洁的,并且不需要考虑用户连点两次或多次“后退”的情况,缺点是当用户端禁用了JavaScript之后即失效。
  (2)
  <AHREF="logout.do"onclick="javascript:location.replace(this.href); event.returnValue=false;">
  Logout(Back Disabled)
  </A>
  这种方法用链接页面的URL替换了当前的历史纪录,这样浏览历史记录中就不会有本页面,后退按钮将不能回到本页面。用户点击“Logout”链接注销并执行新页面,这时当用户点击“后退”按钮将不能回到本页,而是回到在本页之前打开的那个页面。
  也就是说,这种方法清除的是最后一个访问历史记录,而不是全部的访问记录,这是该方法的一个缺点,当然可以在每一个业务页面都添加这段代码作为保护。另外,和上一种方法相同,当用户端禁用了JavaScript之后即失效。
  3、
  <scriptlanguage="JavaScript">
  functionlogout()
  {
  window.close(true);
  window.open("logout.do");
  }
  </script>
  <buttononClick="logout()">Logout</button>
  这种方法比较偷懒,关掉浏览器再重新开,经过测试在视觉上几乎感觉不出来延时,同时又保证了后退按钮不可用(新窗口浏览器后退按钮为灰色),看起来似乎是个好方法,但缺点也比较明显:
  首先,关闭和重开的浏览器窗口大小可能不同,用户可以明显看出这一过程,并且在一定程度上影响操作。
  其次,同上,这是一个JavaScript方法。
  以上方法都是针对“后退”按钮作出的反应,客户端浏览器需要打开JavaScript代码,下面尝试从另一角度来解决这一问题:
  4、禁止缓存
  <%
  response.setHeader("Cache-Control", "no-cache");
  
  response.setHeader("Cache-Control", "no-store");
  
  response.setDateHeader("Expires", 0);
  
  response.setHeader("Pragma", "no-cache");
  %>
  这种方法使用服务器端脚本,强制浏览器重新访问服务器下载页面,而不从缓存读取,结合strutsjsp页面中的<logic>标签实现重新定向。

热心网友 时间:2022-04-23 03:40

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


页面弄个生成的随机字符和数字什么的
看变没变

热心网友 时间:2022-04-23 05:14

这么冲十块冲不到的
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
三七粉贵吗多少钱一斤 三七粉多少钱一斤 万达有什么app 如何避免好学生成为心态受害者? 为什么好学生心态会害了自己呢? 好学生心态受害者是怎样一种存在? 好学生心态有什么影响? 好学生心态受害者是指什么意思? “好学生心态受害者”是指哪些人? 好学生心态受害者是指谁呢? 好学生心态受害者是指什么人? 国际黄金短线交易中有什么交易原则 黄金日内短线交易技巧容易学习吗? 黄金短线交易技巧值得学习吗? 瓦房店哪有小馋猫烤肉拌饭 鸡屎藤能煲水喝吗 2017过年深圳有什么好玩的地方 深圳春节时候去哪游玩好? 姜本能吃吗?种姜剩在地里的姜本挖出来能吃吗? 种植的鲜姜母本能食用吗? 传媒大学附近有什么好吃的 吉林市哪有卖烤肉拌饭? 重庆哪里有小馋猫烤肉拌饭 小馋猫烤肉拌饭在吉林市什么地点开比较好 发际线后退,头皮屑多该如何缓解这种状况? 小馋猫烤肉拌饭 小馋猫烤肉饭是什么肉 发际线后退,前额脱发,头皮痒,头皮屑多怎么办 发际线高怎么办,头皮屑多用什么洗发水? 发际线高怎么改善,头皮屑多是什么原因? 发际线太高怎么办,有头皮屑是什么原因? 发际线高怎么改善,头屑特别多是什么原因? 如何使用RecForge进行录音 OPPO手机自带录音软件录出来的声音非常小。等媒体音量,用QQ语音录的声音大小却很正常。 为了排除 超级录音器带自动开机启动吗 谁推荐一个可以在手机后台运行的录音器,而且可以录手机发出来的声音,不需要root的 数字图像处理试题将彩色图像转化为二值图像过程是什么 数字图像处理中,彩色信号的拉伸和非线性拉伸时什么意思?如何实现 matlab做数字图像处理,读入jpg格式的彩色图像,FFT2做变换,ABS取幅频后,imshow显示出来是大白板?! 上海有考飞机驾照的吗 听说麻豆网站会留下痕迹是真的吗网站浏览了之后会显示你的信息吗 中国那里可以考直升机驾照?要些什么条件?费用大概是多少?需要多长时间? 刚才看了几款淘宝热卖的春季女装韩版小西装 非常不错,不知道怎么选择了, 淘宝网韩版小西装 韩版小西装搭配 韩版女装 韩版女装秋装 韩版女式小西装外套多少钱? 新熠晨韩版小西装女模特是谁? 我想帮我儿子保险。一年要交20000要连续交10年。觉得保进去好么? 怎么删除QQ空间好友? 女生小西装怎么搭配更时尚? 女韩版白色小西装搭配什么样的鞋呢? 哪里有卖韩版小西装的啊,女装 襄阳至凉水泉有多少公里