js 禁止修改地址栏参数获取数据
应用场景:
假定project1的地址为:http://xxx?pageid=test&keyid=1,如果手动修改地址栏参数keyid=2,那么就会获取project2的项目信息,这是我们不希望的。尤其现在很多客户会要求控制用户权限,所以我们要监听并处理这一事件。
介绍处理方法之前,我们需要了解DOM的一个属性:referrer
referrer的作用:
referrer 属性返回载入当前文档的来源文档的URL。如果当前文档不是通过超级链接访问的,则为 null。
由此可知,如果用户修改地址栏参数进行页面跳转,则这个参数值应为null
处理方式如下:
//如果是修改地址栏参数进入,则拦截if (document.referrer == "") {//记录当前非法路径var data = {url: window.location.href}sessionStorage.setItem("ivalidhref", JSON.stringify(data));//提示非法alert("请尊重他人劳动成果和知识产权!");//跳转404页面window.location = "404.html";return;} else {//否则判断缓存中是否有非法路径,有则清除,这样返回的时候就直接回到原页面var data = JSON.parse(sessionStorage.getItem("ivalidhref"));if (!!data) {remove(data.url);}}
js 禁止修改地址栏参数获取数据相关推荐
- js采用ajax发送请求获取数据(实例操作)
来,案例之前,容我分享一下js如何发送请求. 原生js发送请求: let xhr= new XMLHttpRequest(); // methods:GET/POST请求方式等,url:请求地址,tr ...
- vue 修改地址栏参数
let query = JSON.parse(JSON.stringify(this.$route.query))query.productModelId = 'abc' //state 修改的参数t ...
- 前端js添加修改URL参数的方法,修改地址后,可以不刷新页面
最近做项目,发现之前搞的replaceParamVal()方法有bug,重新修改后,应该完美了. 上代码 //URL替换指定传入参数的值,paramName为参数,replaceWith为新值,isR ...
- html弹窗显示表格,js弹框表格,获取数据添加进去dom里面
js操作DOM是否是你想要的结构?我的问题与你类似,只不过是建立在动态表上 /** 功能实现:1.实现表格添加一行 2.实现表格删除当前行 步骤:1.根据表格id获取当前表格 2.获取表格中的tBod ...
- 地址栏参数获取函数 GetQueryStr(name)
//name:参数名称,return:有则返回该参数对应值,没有则返回null function GetQueryStr(name) { var reg = new RegExp(& ...
- js实现扫描付款码获取数据
使用FNScanner的工具,具体如下 ~function (W) { var FNScanner = false; W.FNScanner = function (callBack) { if (! ...
- 帆软报表在js中修改模板参数
_g().getWidgetByName('REPORT4_C').gotoPage(1, { "machine": "S12" }, 'T'); //报表块名 ...
- nodejs 通过 get获取数据修改redis数据
如下代码是没有报错的正确代码 我通过https获取到数据 想用redis set一个键值存储 现在我掉入了回调陷阱 res.on 里面接收到的数据是data 里面如果放入 client.on('con ...
- js获取url地址栏参数的方法,解决中文乱码问题,能支持中文参数
js获取url地址栏参数的方法,解决中文乱码问题,能支持中文参数 参考文章: (1)js获取url地址栏参数的方法,解决中文乱码问题,能支持中文参数 (2)https://www.cnblogs.co ...
最新文章
- 数组做参数_ES6 系列:你不知道的 Rest 参数与 Spread 语法细节
- linux 禁止SU 登录
- 河北师范大学C语言试题,2017年河北师范大学信息技术学院838C语言程序设计考研强化模拟题...
- LUA 运行期间不独占线程的递归,通过回调实现
- 查看Infinicon的HCA卡上的网络流量的方法
- shell获取路径文件的文件名
- 跳过DOSBox映射的方法
- 各种排序方法的时间复杂度、空间复杂度和稳定性统计表
- 2018蓝桥C++B:煤球数目;生日蜡烛(枚举年龄和枚举次数)
- Delphi 使用 Visual Studio Shell , 开源为期不远
- C++最小函数模板demo
- nodejs接收前端formData数据
- Matplotlib - 中文字体
- 记录一次Stack上关于数学之美的brainstorm
- 【软件实战】5分钟拥有一款自己的软件(教程+成品展示)
- 苹果计算机单位换算,单位转换器 - 单位换算
- Java ini文件读写修改配置内容以及使用org.dtools.javaini-v1.1.00.jar中文乱码
- 通过iis启动服务,会产生C:/inetpub/logs/logsFile产生大量的日志,定期清理
- JS之 获取日期方法
- 音频剪切matlab,科学网—matlab的音频处理:读取,裁剪,输出和命名 - 张智昊的博文...
热门文章
- 《所长林超跨学科通识课》模型 整理笔记导图
- 我的世界云之海服务器无尽试炼绿洲,喵界异闻录测试服-圣灵之境游戏-搜视网...
- 李权晟:11.23今日黄金行情走势分析及布局策略
- js轮播图片小圆点变化_纯js实现轮播图,详解(简单,无缝,小圆点,左右手动切换,自动轮动)...
- 第十二届_国赛蓝桥杯个人模板_基础篇
- 服务器被攻击方式及防御措施?
- 【转】学习3D引擎架构技术概述
- 外观专利申请流程及时间及费用
- 【天梯赛】L1-034 点赞 (20分)
- cookie设置secure属性不生效