首页 > 解决方案 > 安全问题,需要更改地址栏而不重新加载。似乎无法到达那里

问题描述

假设我们有地址栏:https ://blablabla.com/lessons/lesson1/?data=2&name=blahblahblah

这一切都很好,但是如果用户将“课程 1”更改为“课程 2”,他们会突然上一堂他们从未付费过的课程。

我们正在使用 jquery 和 aspx 技术。

我试过使用:

window.history.pushState({}, 'lesson1', 'blahblah');

这只会替换“?”之后的数据。而不是文件夹路径,将其变成:

https://blablabla.com/lessons/lesson1/blahblah

但他们仍然可以用第 2 课替换第 1 课,这给了他们上课......

同样,如果他们在浏览器上点击“后退”箭头键,他们仍然可以在我尝试修改查询字符串之前看到它。

任何建议都会非常有帮助,但它们需要跨浏览器,而不仅限于 HTML5。

如果有必要,我们对下载插件的想法持开放态度,也对以某种方式将它们发送到仍然知道该怎么做的模糊链接的想法持开放态度,但这对于我们正在尝试做的事情来说相当困难。

标签: javascriptjqueryhtml

解决方案


如果用户有登录名,那么您应该检查他们是否购买了第 2 课,如果没有,您应该返回错误,因为您需要检查您的数据库以验证该用户是否实际购买了第 2 课或第 3 课等,如果您发布您的代码,我们可以提供更好的答案。


推荐阅读