js打开新窗口时隐藏掉地址栏的解决方案

分类: bt365博彩 时间: 2025-12-03 08:00:40 作者: admin 观测: 6590
js打开新窗口时隐藏掉地址栏的解决方案

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

前言一、问题?二、解决思路1.修改window.open参数2.跳转空白页,由空白页初始化时使用ajax跳转页面

总结

前言

今天在项目中发现一个前端的js问题,使用window.open打开新的窗口时浏览地址,但是传了一些关键的主键参数不能隐藏,因此引出了一系列的安全问题。

一、问题?

用户在使用的过程中不小心改变了地址栏的主键ID却带出其他用户的信息

二、解决思路

由于项目安全等级不是非常的高,所以这里主要描述简单的处理方式

1.修改window.open参数

window.open(url,'location=no','',false);

location=yes|no|1|0 是否显示地址字段.默认值是yes 经测试crome浏览器支持不显示地址栏。只是地址栏的变为不可修改(百度其他浏览器也不显示,有时间可以测试一下)

当然window.open还有很多其他属性: window.open详细参数.

2.跳转空白页,由空白页初始化时使用ajax跳转页面

url为空白页地址

window.open(url,'location=no','',false);

这里发现了另外一个问题就是ajax调用接口时返回的是完整的Html界面。发现没有办法在当前空白页渲染。 尝试过直接将返回的结果写入到body中去,但是界面无法解析。 后来尝试使用内联框架 ifram 标签。直接将结果写入到ifram标签中去依旧无法解析,google了一下ifram的属性设置,找到 srcdoc属性(规定在 iframe 中显示的页面的 HTML 内容。)直接将返回的完整的html赋值给scrdoc属性可以解析HTML

内联标签ifram详细属性: iframe内联框架详细参数.

完整的空白界面如下。因为没有使用了具体的参数传值所以在每次跳转空白界面时将选中的值隐藏在父窗口。然后再使用window.opener方法获取到父窗口当前选中的ID然后保存到当前窗口,刷新时在当前窗口获取ID 。避免刷新当前窗口之前打开其他的窗口导致父窗口的隐藏ID被修改导致数据错乱,

第二种思路就是曲线救国,不能直接过去就拐个弯过去。

总结

这里虽然解决了地址栏的问题,但不是很好的解决方案。如果对参数进行加密的话,就不用担心关键信息泄露这种问题了。现在比较多的通用的做法就是对属性名和属性值都进行加盐加密。

← 投影仪发热自动关机的原因及解决 掌握Photoshop的平面广告设计精髓 →

相关时空节点

放弃我抓紧我·高光速看版热度 7前往原创热度风云榜>

放弃我抓紧我·高光速看版热度 7前往原创热度风云榜>

09-24 💫 937
全民k歌怎么在抖音直播间唱歌 操作方法介绍

全民k歌怎么在抖音直播间唱歌 操作方法介绍

06-27 💫 616
原创盟军敢死队好玩吗?盟军敢死队好不好玩评测

原创盟军敢死队好玩吗?盟军敢死队好不好玩评测

08-03 💫 384