应用场景:

假定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. MyBatisPlus中进行通用CRUD全局策略配置
  2. stateflow新建状态中的枚举类型
  3. html正则判断全数字,javascript如何判断是不是数字?
  4. 用Python算24点
  5. qpython3怎么安装库_如何在安装pip3以及第三方python库
  6. Problem 1036 四塔问题
  7. 西工大机考《概率论与数理统计》大作业网考
  8. ToString格式转换大全(1)
  9. 数据库统计函数 COUNT
  10. 小米高通系列清串号打开写号端口工具_手机sn码序列号修改工具,高通串号永久写入!...
  11. 关于meta name=viewport content=width=device-width,initial-scale=1.0,maximum-scale=1.0,user-scalabl...
  12. 【LaTex】解决:Origin导出pdf图片在latex中线条变粗
  13. 监听enter按键,使其拥有Tab按键的切换功能
  14. 对于噪声数据理解以及Min-Max 规范化和 Score规范化(零-均值规范化)的实例【数据预处理】
  15. E575: viminfo: Illegal starting char in line:(z)
  16. AI教程之:渐变效果
  17. 舌尖上的家乡——广东云浮/罗定
  18. 中国新一代人工智能治理原则发布 | 发展负责任的人工智能
  19. iOS 9 Storyboard 教程(一上)
  20. 努力学习 努力奋斗 踏步而立

热门文章

  1. 001 HELLO!我的博客今天开通了!
  2. matlabplot用指定颜色_MATLAB Plot 如何自定义颜色
  3. 基于Linux的智能家居的设计(1)
  4. Linux下Socket编程:bind().Address already in use的解决方法
  5. 霍金的博士毕业论文,你拜读过了吗?
  6. 2021地理设计组二等奖:基于InSAR和指数分析的地面沉降风
  7. 什么是ActiveX
  8. 阶段二 网页搭建入门之javaScript与前端案例 javaScript轮播图
  9. 西门子精简触摸屏编译出现内部错误,但没有详细错误信息的处理对策
  10. 开启win7无线网卡服务器,Win7怎么设置开启或者禁用无线网卡