gpt4 book ai didi

java - 更改struts 2中的显示URL以隐藏请求参数

转载 作者:行者123 更新时间:2023-11-30 08:02:43 25 4
gpt4 key购买 nike

我非常清楚,使用 GET 方法并在 URL 中传递请求参数是一种不好的做法安全漏洞。但我们目前的情况是项目开发已接近完成,我们无法将所有 GET 更改为 POST 并重新测试整个事情。

有没有办法改变显示的URL?

或者 URL 编码可以完成这项工作?请建议在这种情况下最好的方法是什么。

最佳答案

这种方式是存在的,它就是 HTML5 History API。

它需要 JavaScript 和 HTML5 compliant browsers ,或 javascript fallback for old IE (eg History.js) .

看看history.replaceState()history.pushState()方法:第一个更改当前历史记录条目,第二个添加一个新条目(在后退按钮使用中产生噪音,所以我建议第一个)。

要删除 QueryString(?param1=value1&param2=value2 部分),只需在页面加载时运行此脚本:

<script>

$(function(){
history.replaceState("","",location.href.substring(0,location.href.indexOf("?")));
});

</script>

虽然这个客户端解决方案确实提高了清晰度和视觉效果,但我怀疑它根本无法提高安全性; Post-Redirect-Get会更好,但如果你不能,那就使用这个技术。

我通常将 PRG 与此结合使用来实现漂亮的 URL,并且效果非常好。

请注意,这是一个模拟的 PRG,加载页面后按 F5 可能会出现不可预测的行为根据您对应用程序的编程方式

关于java - 更改struts 2中的显示URL以隐藏请求参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31644867/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com