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 ...
最新文章
- MyBatisPlus中进行通用CRUD全局策略配置
- stateflow新建状态中的枚举类型
- html正则判断全数字,javascript如何判断是不是数字?
- 用Python算24点
- qpython3怎么安装库_如何在安装pip3以及第三方python库
- Problem 1036 四塔问题
- 西工大机考《概率论与数理统计》大作业网考
- ToString格式转换大全(1)
- 数据库统计函数 COUNT
- 小米高通系列清串号打开写号端口工具_手机sn码序列号修改工具,高通串号永久写入!...
- 关于meta name=viewport content=width=device-width,initial-scale=1.0,maximum-scale=1.0,user-scalabl...
- 【LaTex】解决:Origin导出pdf图片在latex中线条变粗
- 监听enter按键,使其拥有Tab按键的切换功能
- 对于噪声数据理解以及Min-Max 规范化和 Score规范化(零-均值规范化)的实例【数据预处理】
- E575: viminfo: Illegal starting char in line:(z)
- AI教程之:渐变效果
- 舌尖上的家乡——广东云浮/罗定
- 中国新一代人工智能治理原则发布 | 发展负责任的人工智能
- iOS 9 Storyboard 教程(一上)
- 努力学习 努力奋斗 踏步而立
热门文章
- 001 HELLO!我的博客今天开通了!
- matlabplot用指定颜色_MATLAB Plot 如何自定义颜色
- 基于Linux的智能家居的设计(1)
- Linux下Socket编程:bind().Address already in use的解决方法
- 霍金的博士毕业论文,你拜读过了吗?
- 2021地理设计组二等奖:基于InSAR和指数分析的地面沉降风
- 什么是ActiveX
- 阶段二 网页搭建入门之javaScript与前端案例 javaScript轮播图
- 西门子精简触摸屏编译出现内部错误,但没有详细错误信息的处理对策
- 开启win7无线网卡服务器,Win7怎么设置开启或者禁用无线网卡