应用场景:

假定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 禁止修改地址栏参数获取数据相关推荐

  1. js采用ajax发送请求获取数据(实例操作)

    来,案例之前,容我分享一下js如何发送请求. 原生js发送请求: let xhr= new XMLHttpRequest(); // methods:GET/POST请求方式等,url:请求地址,tr ...

  2. vue 修改地址栏参数

    let query = JSON.parse(JSON.stringify(this.$route.query))query.productModelId = 'abc' //state 修改的参数t ...

  3. 前端js添加修改URL参数的方法,修改地址后,可以不刷新页面

    最近做项目,发现之前搞的replaceParamVal()方法有bug,重新修改后,应该完美了. 上代码 //URL替换指定传入参数的值,paramName为参数,replaceWith为新值,isR ...

  4. html弹窗显示表格,js弹框表格,获取数据添加进去dom里面

    js操作DOM是否是你想要的结构?我的问题与你类似,只不过是建立在动态表上 /** 功能实现:1.实现表格添加一行 2.实现表格删除当前行 步骤:1.根据表格id获取当前表格 2.获取表格中的tBod ...

  5. 地址栏参数获取函数 GetQueryStr(name)

    //name:参数名称,return:有则返回该参数对应值,没有则返回null function GetQueryStr(name) {          var reg = new RegExp(& ...

  6. js实现扫描付款码获取数据

    使用FNScanner的工具,具体如下 ~function (W) { var FNScanner = false; W.FNScanner = function (callBack) { if (! ...

  7. 帆软报表在js中修改模板参数

    _g().getWidgetByName('REPORT4_C').gotoPage(1, { "machine": "S12" }, 'T'); //报表块名 ...

  8. nodejs 通过 get获取数据修改redis数据

    如下代码是没有报错的正确代码 我通过https获取到数据 想用redis set一个键值存储 现在我掉入了回调陷阱 res.on 里面接收到的数据是data 里面如果放入 client.on('con ...

  9. js获取url地址栏参数的方法,解决中文乱码问题,能支持中文参数

    js获取url地址栏参数的方法,解决中文乱码问题,能支持中文参数 参考文章: (1)js获取url地址栏参数的方法,解决中文乱码问题,能支持中文参数 (2)https://www.cnblogs.co ...

最新文章

  1. 数组做参数_ES6 系列:你不知道的 Rest 参数与 Spread 语法细节
  2. linux 禁止SU 登录
  3. 河北师范大学C语言试题,2017年河北师范大学信息技术学院838C语言程序设计考研强化模拟题...
  4. LUA 运行期间不独占线程的递归,通过回调实现
  5. 查看Infinicon的HCA卡上的网络流量的方法
  6. shell获取路径文件的文件名
  7. 跳过DOSBox映射的方法
  8. 各种排序方法的时间复杂度、空间复杂度和稳定性统计表
  9. 2018蓝桥C++B:煤球数目;生日蜡烛(枚举年龄和枚举次数)
  10. Delphi 使用 Visual Studio Shell , 开源为期不远
  11. C++最小函数模板demo
  12. nodejs接收前端formData数据
  13. Matplotlib - 中文字体
  14. 记录一次Stack上关于数学之美的brainstorm
  15. 【软件实战】5分钟拥有一款自己的软件(教程+成品展示)
  16. 苹果计算机单位换算,单位转换器 - 单位换算
  17. Java ini文件读写修改配置内容以及使用org.dtools.javaini-v1.1.00.jar中文乱码
  18. 通过iis启动服务,会产生C:/inetpub/logs/logsFile产生大量的日志,定期清理
  19. JS之 获取日期方法
  20. 音频剪切matlab,科学网—matlab的音频处理:读取,裁剪,输出和命名 - 张智昊的博文...

热门文章

  1. 《所长林超跨学科通识课》模型 整理笔记导图
  2. 我的世界云之海服务器无尽试炼绿洲,喵界异闻录测试服-圣灵之境游戏-搜视网...
  3. 李权晟:11.23今日黄金行情走势分析及布局策略
  4. js轮播图片小圆点变化_纯js实现轮播图,详解(简单,无缝,小圆点,左右手动切换,自动轮动)...
  5. 第十二届_国赛蓝桥杯个人模板_基础篇
  6. 服务器被攻击方式及防御措施?
  7. 【转】学习3D引擎架构技术概述
  8. 外观专利申请流程及时间及费用
  9. 【天梯赛】L1-034 点赞 (20分)
  10. cookie设置secure属性不生效