Cách các trang web phát hiện trình duyệt headless trong năm 2026: rò rỉ CDP, kiểm tra tính mạch lạc và điều gì giúp ích

Đăng ngày 6 tháng 6 2026 · ≈11 phút đọc

Bạn đã chuyển từ HTTP thô sang một trình duyệt thật. Dấu vân tay TLS: thật sự của Chrome. IP: residential. Vậy mà trang web vẫn biết. Trong năm 2026, việc phát hiện trình duyệt headless đã đi xa hơn nhiều so với navigator.webdriver — thế hệ kiểm tra hiện tại phát hiện chính giao thức tự động hóa, và phần lớn các plugin "stealth" vá các tín hiệu của hôm qua trong khi phô bày ầm ĩ các tín hiệu của hôm nay.

Bài viết này lập bản đồ những gì các trang web thực sự kiểm tra bây giờ, gần như theo thứ tự chúng kiểm tra, và điều gì thực sự giúp ích ở mỗi lớp. Nó hoàn thiện bộ ba về phát hiện cùng với lấy dấu vân tay TLS JA3/JA4 (lớp mạng) và danh tiếng IP & ASN (lớp địa chỉ) — đây là lớp trình duyệt.

Bậc 1: Những Thứ Kinh Điển (Đã Giải Quyết, nhưng Vẫn Bị Kiểm Tra)

Nếu một mục tiêu chỉ kiểm tra Bậc 1, Playwright hiện đại với headless=new đi qua được. Các mục tiêu nghiêm túc đã vượt qua giai đoạn này từ nhiều năm trước.

Bậc 2: Phát Hiện CDP — Trụ Cột của Năm 2026

Playwright và Puppeteer điều khiển Chrome qua Chrome DevTools Protocol, và CDP để lại các tác dụng phụ thời gian chạy mà JavaScript của trang có thể quan sát:

// Rò rỉ CDP kinh điển: callback tuần tự hóa
const err = new Error();
Object.defineProperty(err, "stack", {
  get() {
    // Getter này kích hoạt TRONG quá trình tuần tự hóa console -
    // điều chỉ xảy ra khi DevTools/CDP được gắn vào
    window.__cdp_detected = true;
  },
});
console.debug(err);

Các biến thể của điều này — tác dụng phụ của getter trong quá trình tuần tự hóa console, các bất thường về thời gian trong Runtime.evaluate, hành vi của toString() trên các hàm native đã được vá — có trong mọi bộ anti-bot thương mại. Điểm mấu chốt: điều này phát hiện giao thức, không phải chế độ headless. Một Chrome có giao diện, đã được vá stealth, trông giống con người một cách hoàn hảo vẫn trượt nếu nó được điều khiển qua CDP.

Điều giúp ích:

Bậc 3: Tính Mạch Lạc của Môi Trường

Ngoài các dấu vết, các hệ thống hiện đại kiểm tra liệu câu chuyện của trình duyệt có nhất quán nội tại hay không:

Kiểm traDấu hiệu bot
Hash render Canvas / WebGLRender phần mềm SwiftShader/llvmpipe = GPU máy chủ; hoặc một hash bị chia sẻ bởi 10.000 "người dùng khác nhau"
Font & codecBộ font máy chủ Linux dưới một User-Agent Windows
Múi giờ × locale × IP geoIntl nói UTC, IP nói Texas, Accept-Language nói de-DE
Chỉ số màn hình1920×1080 không có thanh tác vụ, devicePixelRatio đúng bằng 1, cửa sổ chưa bao giờ thay đổi kích thước
Số luồng phần cứng / bộ nhớ96 nhân được báo cáo cho một trang tự nhận là điện thoại
Vi tín hiệu hành viKhông có entropy chuột, điền form tức thì, cuộn theo các bước 100px giống hệt nhau

Đây là nơi stealth tự làm chết: mọi bản vá bạn áp dụng phải đồng nhất với mọi tín hiệu khác. Một UA Windows giả mạo trên một container Linux mâu thuẫn với font, chuỗi GPU, và dấu vân tay TCP cùng một lúc. Tính mạch lạc thắng sự hoàn hảo — một Chrome Linux có giao diện trung thực chấm điểm tốt hơn một Chrome "Windows" giả mạo vụng về.

Và Lớp Bên Dưới Vẫn Còn Áp Dụng

Không điều nào trong số này có ý nghĩa nếu lớp địa chỉ đã bị cháy: một trình duyệt hoàn hảo trên một ASN datacenter vẫn là "một trình duyệt hoàn hảo trong một datacenter" — và các ngưỡng phát hiện headless thích ứng theo danh tiếng IP. Cùng một trình duyệt nhận nhiều thử thách JavaScript hơn từ một IP bị gắn cờ. Các điểm thoát residential thực sự hạ thấp mức độ soi xét mà lớp trình duyệt phải sống sót:

browser = p.chromium.launch(
    headless=False,                      # headed survives more checks
    args=["--disable-blink-features=AutomationControlled"],
    proxy={
        "server": "us.jibaoproxy.com:913",
        "username": "USERNAME", "password": "PASSWORD",
    },
)

Danh Sách Kiểm Tra Thực Tế

  1. Dùng chế độ headless mới hoặc chế độ có giao diện; không bao giờ dùng headless cũ.
  2. Hãy giả định có phát hiện CDP trên bất kỳ mục tiêu nghiêm túc nào — runtime đã vá, driver không qua CDP, hoặc một engine không phải Chromium đã được gia cố.
  3. Đừng chồng các plugin stealth một cách mù quáng; mỗi toString() chưa vá tự nó là một tín hiệu. Ít hơn, các bản vá mạch lạc, thì thắng.
  4. Khớp toàn bộ câu chuyện: múi giờ = IP geo = locale; GPU hợp lý với OS được khai báo.
  5. Thêm entropy đầu vào — đường chuột cong, độ trễ thay đổi, thỉnh thoảng cuộn ngược lại.
  6. Kiểm tra với một bên quan sát trung lập trước khi nhắm vào mục tiêu thật.
Công cụ miễn phí · không cần đăng ký

Kiểm toán ngăn xếp tự động hóa của bạn chỉ trong một lần tải trang

Bài Kiểm Tra Dấu Vân Tay & Rò Rỉ của chúng tôi báo cáo các cờ webdriver, dấu vết CDP, hash canvas/WebGL, các mâu thuẫn múi giờ so với IP, và các kiểm tra tính mạch lạc mà các nhà cung cấp anti-bot chạy — với bất kỳ trình duyệt nào bạn trỏ vào nó.

Kiểm tra dấu vân tay trình duyệt của tôi →

Trình duyệt sạch nhưng IP tố cáo bạn? Ghép nó với các điểm thoát residential — 500MB lưu lượng miễn phí →

Tóm Tắt

Cho Trình Duyệt Của Bạn Một Địa Chỉ Đáng Tin

IP residential khớp với câu chuyện mà dấu vân tay của bạn kể — 500MB lưu lượng miễn phí, không cần thẻ.

Bắt Đầu Dùng Thử Miễn Phí

Cho mọi sản phẩm IP · một kho node khổng lồ luôn sẵn sàng bất cứ lúc nào

Đăng ký ngay và nhận tới 100% hoàn tiền cho lần nạp của bạn

Người dùng mới nhận 500MB khi đăng ký, cùng tiền thưởng cho lần nạp đầu tiên. Ưu đãi có thời hạn.