爱意满满的作品展示区。
hicdn

写了个 UserScript,方便在 web.archive.org 看 csdn 老文章

  •  
  •   hicdn · 2h 55m ago · 136 views

    偶尔搜到 csdn 的文章,在 csdn 只能看开头,到 web.archive.org 看存档,会自动跳转到到 csdn 首页,十分恼火。

    把浏览器的所有请求保存成 har ,丢给 AI , 让 AI 分析后,写 UserScript 阻止跳转,终于能顺利看完全文了。

    与交互过程:

    user: 从 www.csdn.net.har 分析一下,如何从 web.archive.org 跳转到 csdn.net
    
    AI: 根据 HAR 文件分析,无法从 web.archive.org 直接跳转到 csdn.net 。原因如下: bala bala
    
    user: 浏览器最终跳转到了 csdn.net ,可能是某个 js 控制的
    
    AI: 找到了!这是 CSDN 的反盗链/反嵌入检测代码。
    
      分析结果
    
      跳转机制
    
      CSDN 在页面底部(隐藏的 <div> 中)有一段通过 <img onerror=""> 触发的代码:
    
      setTimeout(function(){
          if(top!==self){
              window.top.location.href=window.location.href  // 如果在 iframe 中,让顶层跳转
          }
          if(!/(csdn.net|iteye.com|baiducontent.com|googleusercontent.com|360webcache.com|sogoucdn.com|bingj.com)$/.test(window.lo
      cation.hostname)){
              window.location.href="https://www.csdn.net"  // 域名不在白名单则跳转
          }
      },3000);  // 3 秒延迟
      
      
      
    user:  编写 user.js ,禁止这项跳转,仅在 web.archive.org 生效
    
    AI: 已创建 /tmp/csdn-archive-anti-redirect.user.js
    
      功能说明
    
      该脚本只在 web.archive.org 域名下生效,通过多层防护阻止 CSDN 的跳转:
    
      ┌──────┬──────────────────────────────────────┐
      │ 方法 │               防护内容               │
      ├──────┼──────────────────────────────────────┤
      │ 1    │ 拦截 window.location.href 的赋值     │
      ├──────┼──────────────────────────────────────┤
      │ 2    │ 拦截 window.location.replace()       │
      ├──────┼──────────────────────────────────────┤
      │ 3    │ 拦截 window.location.assign()        │
      ├──────┼──────────────────────────────────────┤
      │ 4    │ 拦截 setTimeout 中包含跳转的回调     │
      ├──────┼──────────────────────────────────────┤
      │ 5    │ 拦截 <img onerror=""> 触发的跳转代码 │
      └──────┴──────────────────────────────────────┘
    
      安装方法
    
      1. 安装 Tampermonkey 或 Violentmonkey
      2. 点击扩展图标 → 添加新脚本
      3. 复制 /tmp/csdn-archive-anti-redirect.user.js 的内容粘贴
      4. 保存
    
      测试
    
      访问 https://web.archive.org/web/*/https://blog.csdn.net/...,页面应该不再跳转到 csdn.net ,控制台会显示拦截日志。
    

    写了 5 种拦截方法,安装后删除一些有语法错误的方法,可以正常工作。

    脚本地址: https://greasyfork.org/zh-CN/scripts/579931-csdn-archive-org-anti-redirect

    No Comments Yet
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   5250 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 05:58 · PVG 13:58 · LAX 22:58 · JFK 01:58
    ♥ Do have faith in what you're doing.