浏览器回退键处理以及一个意外安全惊喜!

本文探讨了如何通过JavaScript阻止用户在考试过程中使用浏览器的回退功能,详细介绍了使用window.history.pushState()和监听popstate事件的方法,以及这种方法对爬虫开发的影响。
摘要由CSDN通过智能技术生成
//每次进入考试的时候都会往历史记录压一个空记录进去
    window.history.pushState("forward","进入考试","");
    // window.history.forward();
   $(function(){
      $(window).on("popstate", function(event) {
      //只要点击回退键就刷新页面   这个和上面的压入参数构成循环 达到禁止回退
          // alert("popstate");
          window.location.reload(true);
      });
   })

1.问题一刷新以后参数丢失
因为重新处理了历史记录pushState里面已经不是原来的地址了,原来应该是本页的地址
2.利用这个原理让爬虫开发更困难。
我们知道如果window.open方法在当前页面是无法抓包的只能到第二页刷新页面抓包 ,除非该方法被改写(打个断点使用console改写该方法或者不执行这个方法,直接执行location.href)。然后利用上面的方法会导致抓不到参数、

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值