吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 5821|回复: 8
收起左侧

[经验求助] 求网页禁止使用F12调试工具,打开后跳转网页的解决方法

[复制链接]
zycbaby2008 发表于 2024-11-30 19:01
30吾爱币
发现一个网站,打开开发者工具后网页会自动跳转到其他页面,有没有大佬有详细的解决方法。学习一下。
因为需要抓包获取请求所以不能禁用JS。https://gaze.run/play/5d4c2a8e08e5e0499dd3b4d8f2cd858a

最佳答案

查看完整内容

如果只是想要获取请求可以用vConsole 通过油猴脚本加载vconsole,兼容手机电脑 https://www.52pojie.cn/thread-1931185-1-1.html (出处: 吾爱破解论坛)

本帖被以下淘专辑推荐:

发帖前要善用【论坛搜索】功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

42328669425 发表于 2024-11-30 19:01
如果只是想要获取请求可以用vConsole

通过油猴脚本加载vconsole,兼容手机电脑
https://www.52pojie.cn/thread-1931185-1-1.html
(出处: 吾爱破解论坛)
cdy1996 发表于 2024-11-30 19:12
只是为了抓包可以用 fiddler 进行拦截呀, 不需要打开f12
wonder2018 发表于 2024-11-30 19:37
本帖最后由 wonder2018 于 2024-11-30 19:39 编辑

给网站加一个油猴脚本,打开f12跳转前会增加一个confirm,然后点取消就好了。

[JavaScript] 纯文本查看 复制代码
// ==UserScript==
// [url=home.php?mod=space&uid=170990]@name[/url]         New Userscript
// [url=home.php?mod=space&uid=467642]@namespace[/url]    http://tampermonkey.net/
// [url=home.php?mod=space&uid=1248337]@version[/url]      2024-11-30
// @description  try to take over the world!
// [url=home.php?mod=space&uid=686208]@AuThor[/url]       You
// [url=home.php?mod=space&uid=195849]@match[/url]        https://xxxx 改成你要hook的网址
// [url=home.php?mod=space&uid=609072]@grant[/url]        none
// ==/UserScript==

(function() {
    'use strict';
window.addEventListener('beforeunload', function (event) {
    // 设置 returnValue 属性将触发确认对话框
    // 注意:现代浏览器可能会忽略你设置的字符串,并显示自己的标准消息
    event.returnValue = '你确定要离开这个页面吗?'; // 对于旧版浏览器
    return '你确定要离开这个页面吗?'; // 对于现代浏览器(推荐这种写法)
});
})();
DetectiveConan 发表于 2024-11-30 19:49
跳转的原因是有个devtools-detector.min.js文件导致的。

先F12打开开发者工具,然后地址栏输入这个网址,等网站加载好了的瞬间,如下图,选Offline,相当于断网。



然后把devtools-detector.min.js右键Block request URL就好了,相当于把这个文件拉黑。



最后恢复网络连接,重新输入网址回车就好了。
dazhaorpa 发表于 2024-11-30 20:10
1. **理解网页禁止F12调试的原理**
   - 网页通过JavaScript来检测是否打开了开发者工具(F12)。当检测到开发者工具被打开时,就会执行跳转网页等操作。这是一种常见的反调试手段,主要是为了保护网页的代码逻辑、防止数据被轻易获取等。
2. **解决方法**
   - **禁用JavaScript(不推荐)**
     - **原理**:因为网页检测F12是通过JavaScript实现的,所以禁用JavaScript可以避免这种检测。不过,这样会导致网页上很多依赖JavaScript的功能无法正常使用。
     - **操作方法**:在浏览器的设置选项中找到“隐私和安全”或类似的选项,然后在其中找到“内容设置”,再找到“JavaScript”并将其设置为“禁止”。不同浏览器的具体操作步骤可能会有所不同。例如,在Chrome浏览器中,可以在“设置” - “隐私和安全” - “站点设置” - “JavaScript”中进行设置。
   - **使用代{过}{滤}理工具绕过检测(有一定技术要求)**
     - **原理**:通过代{过}{滤}理工具修改请求和响应,在网页代码加载检测F12的JavaScript代码之前,将其拦截或者修改。例如,可以使用Fiddler、Charles等代{过}{滤}理工具。
     - **操作方法(以Fiddler为例)**:
       - 首先下载并安装Fiddler。安装完成后,打开Fiddler并设置好代{过}{滤}理(通常在浏览器的代{过}{滤}理设置中设置为本地Fiddler的代{过}{滤}理地址,如12.0.0.1:8888)。
       - 然后在Fiddler中找到“AutoResponder”选项卡,开启自动响应功能。在这里可以添加规则,当检测到网页请求包含检测F12的JavaScript代码时,用修改后的代码或者空代码进行替换。不过,这需要对网页的请求和代码有一定的了解,才能准确地找到和修改相关代码。
   - **修改浏览器快捷键(可能不适用于所有情况)**
     - **原理**:尝试修改浏览器打开开发者工具(F12)的快捷键,使得网页的检测代码无法检测到F12被按下。不过,一些高级的检测方法可能不仅仅依赖于快捷键的检测。
     - **操作方法**:在一些浏览器中,可以通过自定义快捷键来实现。例如,在Firefox浏览器中,可以在“选项” - “常规” - “快捷键”中修改开发者工具的打开快捷键。但这种方法可能会因浏览器更新或网页检测机制的改进而失效。
 楼主| zycbaby2008 发表于 2024-12-1 21:57
DetectiveConan 发表于 2024-11-30 19:49
跳转的原因是有个devtools-detector.min.js文件导致的。

先F12打开开发者工具,然后地址栏输入这个网址 ...

我把devtools-detector.min.js屏蔽以后,网页的视频数据都不加载了
wudalang123 发表于 2024-12-2 09:35
NoScript (Firefox):NoScript是一款强大的Firefox扩展,允许你选择性地禁用网页的JavaScript代码。通过在扩展的设置中选择禁用JavaScript,可以绕过网站的F12调试工具检测。

ScriptSafe (Chrome):ScriptSafe是一款Chrome扩展,允许你禁用或修改网页的JavaScript代码。通过在扩展的设置中选择禁用JavaScript,可以绕过网站的F12调试工具检测。
yanghaoyi0806 发表于 2024-12-4 20:13
要解决你遇到的 **网页自动跳转** 的问题并 **抓取请求**,同时不能禁用JavaScript的情况下,可以使用一些技巧来避免页面跳转并正常获取请求数据。下面是一些常见的解决方法,适用于这种情况下的开发者工具抓包:

### 1. **利用浏览器开发者工具的“保留日志”功能**
在开发者工具中,可以启用**保留日志**功能,这样即使网页跳转,之前的请求也不会丢失。这里是操作方法:

#### 步骤:
1. **打开开发者工具**:按 `F12` 或 `Ctrl+Shift+I` 打开开发者工具。
2. **切换到 “Network” 标签页**。
3. **勾选“Preserve log”选项**,这会确保即使页面跳转,之前的请求也会保留在日志中。
4. 观察所有请求,找到你想要抓取的请求。

> **注意**:虽然此方法有效避免请求丢失,但如果页面跳转发生得非常迅速,你可能还是错过了部分请求。此时可以使用其他方法。

### 2. **暂停脚本执行**
通过暂停页面脚本执行,能够在页面跳转发生之前获取请求数据。通过暂停,你可以在浏览器中控制执行流程,使得跳转不立即发生。

#### 步骤:
1. 打开浏览器的开发者工具,切换到 **“Sources”** 标签。
2. 找到并点击页面右上角的 **暂停符号**(通常是一个圆形的暂停按钮)。此按钮会暂停所有脚本执行。
3. 刷新页面,页面将加载并暂停在某一脚本执行点,你可以此时查看网络请求。
4. 你可以手动恢复脚本执行以继续页面加载。

> **优点**:这种方法可以暂停页面跳转并捕捉到页面加载时的请求。
> **缺点**:有时需要对页面的执行流程比较熟悉,稍微复杂。

### 3. **使用脚本绕过跳转**
如果页面通过JavaScript检测开发者工具并跳转,你可以通过修改某些 JavaScript 变量或函数来防止跳转。通常网站会检查 `window.devtools` 或 `navigator.webdriver` 等变量来检测开发者工具是否开启。

你可以使用以下方法来修改页面的跳转行为:

#### 步骤:
1. 打开浏览器的 **开发者工具** 并切换到 **“Console”** 标签。
2. 输入以下脚本来禁用一些跳转逻辑:

   ```javascript
   // 禁用window.devtools
   Object.defineProperty(window, 'devtools', { get: () => false });

   // 禁用一些检测
   Object.defineProperty(navigator, 'webdriver', { get: () => false });

   // 禁用可能导致跳转的JavaScript函数
   window.location = 'about:blank';
   ```

   这些方法可以阻止页面的自动跳转并允许你继续抓包。

### 4. **使用代{过}{滤}理工具**
如果上述方法不适用,或者页面仍然快速跳转,你可以使用 **代{过}{滤}理工具**(如 **Fiddler** 或 **Charles Proxy**)来拦截并记录所有网络请求。代{过}{滤}理工具能够在页面跳转时依然记录请求数据,因为它们是拦截并记录所有HTTP/S流量的。

#### 步骤:
1. 安装并启动 **Fiddler** 或 **Charles Proxy**。
2. 配置浏览器或操作系统使用该代{过}{滤}理。
3. 抓取请求并记录日志。
   
   > 代{过}{滤}理工具通常会捕获所有流量,即使页面跳转,你依然可以获取请求数据。

### 5. **使用 Puppeteer 或 Playwright 等自动化工具**
如果你希望自动化并绕过跳转问题,**Puppeteer** 或 **Playwright** 等无头浏览器工具可以通过编程方式控制浏览器的行为。

#### 使用 Puppeteer 示例:
```javascript
const puppeteer = require('puppeteer');

(async () => {
  const browser = await puppeteer.launch({ headless: true });
  const page = await browser.newPage();

  // 捕获请求
  page.on('request', (request) => {
    console.log('Request:', request.url());
  });

  // 禁用JavaScript跳转
  await page.setJavaScriptEnabled(true);

  // 打开目标页面
  await page.goto('https://gaze.run/', { waitUntil: 'networkidle2' });

  await browser.close();
})();
```

> **优点**:可以自动化抓取请求,控制页面加载过程并防止跳转。
> **缺点**:需要一些编程知识。

### 6. **分析页面的跳转逻辑**
如果你深入分析网站的JavaScript代码,通常可以找到触发跳转的代码,并通过调试将其禁用或修改。方法包括:

1. **在 “Sources” 面板中设置断点**:你可以在代码中设置断点,查看哪些函数或事件触发了页面跳转。
2. **在Console中禁用跳转函数**:有些网站可能通过 `window.location` 或其他方法实现跳转,使用浏览器控制台禁用这些行为。

---


- **保留日志** 可以让你在页面跳转后仍然保留请求日志。
- **暂停脚本执行** 适用于防止自动跳转并查看当前请求。
- **禁用跳转** 通过修改 JavaScript 变量和函数绕过跳转。
- **代{过}{滤}理工具** 如 Fiddler 或 Charles 可以抓取HTTP请求。
- **自动化工具** 如 Puppeteer 可以完全控制浏览器行为并抓取数据。

根据你的需求,可以选择最合适的方法来抓取请求并绕过页面自动跳转的限制。
返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - 52pojie.cn ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2026-10-27 08:12

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表