【发布时间】:2015-12-30 02:29:00
【问题描述】:
如果已经有人问过这个问题,我深表歉意,但我已经进行了大量搜索,但还没有找到与我相似的问题。
在我的应用程序中,我有一个密码更改页面,如果某人是新用户或重置了他/她的密码,则会触发该页面。
问题是,一旦用户进行更改并点击提交,他/她就会被重定向到主页。现在,如果用户多次发送后退按钮以进入密码更改页面,他们会遇到一个过期的页面,他们可以点击刷新。然后浏览器要求用户重试提交数据。这个提交请求是一个 POST 并且可以在数据包中看到用户之前输入的原始数据。
到目前为止,我只能在 IE 上复制此问题。在 FF 和 Chrome 上尝试过,但没有。
我的问题是,有没有办法使用 jQuery、HTML、WSS 或其他方式来防止重新提交此 POST?我最关心的是带有可见数据的数据包。
谢谢。
【问题讨论】:
-
“数据可以看到”是什么意思?你在哪里看到的?
-
为什么他们在提交原始请求时看不到它?原始和重试有什么区别?
-
用户可以看到原始表单,点击提交后跳转到主页面。但是他们可以向页面发送几次垃圾邮件,然后单击重试。这会发送一个可以被wireshark 捕获的重复请求。用户仍然出错,他必须重新登录,因为此时会话已过期。但是我想知道如果使用刷新+重试,是否有办法阻止请求消息首先发送。 -- 重试是过期页面,可以重新提交数据。
-
-- 重新提交的数据不会改变任何事情,因为此时会话 ID 无效,但可以将数据视为“安全问题”这一事实......即使它是一个https 连接。
-
我仍然不明白你所做的区分。如果他们可以使用wireshark捕获重复请求,为什么他们不能同时捕获原始请求?
标签: javascript jquery html progress-4gl webspeed