Trang bị chặn toàn bộ nghĩa là một quy tắc trong danh sách bộ lọc của bạn khớp với chính địa chỉ trang, nên trình chặn dừng nó trước khi kết nối.
Bạn bấm vào một liên kết và thay vì trang web, trình chặn quảng cáo hiện cảnh báo rằng trang bị chặn vì khớp với một bộ lọc trong danh sách như EasyList. Không có gì được tải, và trang web thậm chí chưa kịp hiển thị bất cứ thứ gì. Điều này khác với việc một quảng cáo bị ẩn bên trong trang: trình chặn đã từ chối cả tài liệu.
Điểm chính
- Đây là tiện ích mở rộng của chính bạn đang hoạt động, không phải trang web. Một trong các danh sách bộ lọc bạn bật có quy tắc khớp với địa chỉ của chính trang, nên trình chặn dừng trang trước khi trình duyệt kết nối tới máy chủ.
- Màn hình chặn không phải là kết luận rằng trang web độc hại. Tài liệu của uBlock Origin nêu rõ cảnh báo chặn nghiêm ngặt (strict blocking) không nhất thiết có nghĩa trang web có hại; nó chỉ cho biết có một bộ lọc khớp trong các danh sách bạn đã chọn.
- Phần hữu ích là biết quy tắc nào đã khớp. Quy tắc chỉ có tên miền mặc định chặn tài liệu gốc, còn các mẫu khác chỉ làm vậy khi có tùy chọn
documenthoặcall. Biết quy tắc giúp bạn phân biệt đây là mục được đưa vào có chủ đích hay một mẫu quá rộng chặn nhầm trang vô hại. - Cách xử lý nên hẹp, không phải "tắt trình chặn". Quay lại, tạm thời cho qua một trang bạn tin cậy, thêm ngoại lệ theo từng trang web, hoặc báo cáo dương tính giả cho người duy trì danh sách.
- Bài này nói từ phía người dùng. Cách các trang web phát hiện trình chặn được trình bày riêng, và ở đây không có lời khuyên nào để né tránh cơ chế bảo vệ của trang web.
"Chặn cả trang" thực sự nghĩa là gì
Phần lớn việc trình chặn quảng cáo làm là vô hình. Nó ẩn một vị trí quảng cáo, bỏ một yêu cầu tới script theo dõi, và trang bạn cần vẫn tải xung quanh chỗ trống đó. Chặn nghiêm ngặt là ngoại lệ: bộ lọc khớp với chính tài liệu bạn định mở, nên không còn gì để tải xung quanh.
Theo chính lời của uBlock Origin, chặn nghiêm ngặt chặn toàn bộ trang: tài liệu gốc bị chặn, nên trình duyệt không kết nối tới máy chủ lưu trang đó. Wiki lưu ý rằng các trình chặn khác như Adblock Plus chỉ lọc tài nguyên thứ cấp, và uBlock Origin cũng như vậy cho đến phiên bản 0.9.3.0, khi nó bắt đầu lọc chính các trang web. Mỗi trình chặn hiển thị màn hình riêng với câu chữ khác nhau, và câu chính xác bạn thấy tùy sản phẩm. Điểm chung là cơ chế, và đó là điều phần còn lại của bài giải thích.
Vì sao một bộ lọc khớp với địa chỉ trang
Bộ lọc mạng tĩnh là một mẫu được so với URL. Quy tắc quyết định hai điều: mẫu trông như thế nào và áp dụng cho loại yêu cầu nào. Theo tài liệu chặn nghiêm ngặt của uBlock Origin, câu trả lời cho "quy tắc này có chặn chính trang không?" quy về hai trường hợp:
- Bộ lọc chỉ có tên miền như
||example.com^mặc định kích hoạt chặn nghiêm ngặt. Wiki cho biết mặc định này nhằm giảm dương tính giả: quy tắc nêu tên cả một máy chủ là tuyên bố có chủ đích về máy chủ đó. - Các bộ lọc khớp mẫu khác chỉ kích hoạt khi dùng tùy chọn
document(bí danhdoc) hoặcall.
Trang cú pháp bộ lọc tĩnh mô tả các thành phần. Tùy chọn document khớp khung chính, tức trang gốc, và bộ lọc chỉ nêu tên máy chủ sẽ tự động bao gồm nó. Tùy chọn all là cách viết tắt cho mọi loại yêu cầu mạng cộng với cửa sổ bật lên, tài liệu, phông chữ nội tuyến và script nội tuyến. Trong uBlock Origin, mẫu chỉ có tên máy chủ nghĩa là "trang này và mọi tên miền con", và cũng bao gồm tài liệu chính.
Các quy tắc này đến từ đâu? Chủ yếu từ các danh sách do cộng đồng duy trì mà trình chặn đăng ký. EasyList là danh sách nổi tiếng nhất, và kho mã của nó cũng là nơi tiếp nhận báo lỗi. Một tên miền có thể nằm trong danh sách vì tên miền thật sự phục vụ quảng cáo hoặc trình theo dõi, vì nó là dịch vụ chuyển hướng hoặc rút gọn liên kết mà danh sách coi là một chặng theo dõi, hoặc vì một mẫu rộng viết để bắt thứ này đã bắt nhầm thứ khác. Tên miền đổi chủ cũng có thể còn mục viết cho chủ cũ.
Cách đọc màn hình chặn
Màn hình chặn chứa nhiều thông tin hơn vẻ ngoài. Hãy đọc theo thứ tự này:
- Tìm danh sách và quy tắc. Trang chặn của uBlock Origin nêu tên bộ lọc đã khớp. Quy tắc chỉ là một tên máy chủ trần hay là mẫu dài hơn có
$documenthoặc$allsẽ cho biết mục này được đưa vào có chủ đích đến mức nào. - Nhìn vào địa chỉ. Wiki chỉ ra rằng khi URL bị chặn có chuỗi truy vấn, uBlock Origin có thể tách nó thành các tham số. Với liên kết chuyển hướng, đích thật thường nằm trong một tham số. Nếu vậy, thứ bị liệt kê là dịch vụ chuyển hướng, còn trang cuối có thể vẫn ổn.
- Tự hỏi bạn có chủ ý vào trang này không. Nếu máy chủ bị chặn là nơi bạn chưa từng nghe tới và bạn đến đó qua một liên kết lạ, danh sách bộ lọc đang làm đúng việc. Còn nếu trang bạn vào hằng ngày bị chặn, nhiều khả năng đó là chặn nhầm (dương tính giả).
Các lựa chọn trên màn hình chặn
Trang chặn của uBlock Origin đưa ra một số lựa chọn ngắn gọn:
- Quay lại (Go back) đưa bạn về trang trước. Đây là lựa chọn đúng khi bạn không định vào đó.
- Tiếp tục (tạm thời) tắt chặn nghiêm ngặt trong thời gian giới hạn. Mặc định là 120 giây, có thể chỉnh qua thiết lập nâng cao
strictblockingbypassduration. Dùng cho trang bạn tin cậy và chỉ cần mở một lần. - Tiếp tục (vĩnh viễn) thực hiện bằng cách đánh dấu "Don't warn me again about this site" trước khi bấm Proceed. Khi đó trang được lọc như trước khi có chặn nghiêm ngặt: tài nguyên của nó vẫn có thể bị chặn, nhưng bản thân trang được phép mở.
Wiki cũng ghi lại một công tắc toàn cục: thêm no-strict-blocking: * true trong ngăn My rules rồi bấm Commit sẽ tắt chặn nghiêm ngặt ở mọi nơi. Đó là đòn bẩy quá lớn so với vấn đề thường gặp. Bạn tắt một lớp bảo vệ cho mọi trang chỉ để sửa một trang, nên hãy ưu tiên các lựa chọn theo từng trang ở trên.
Danh sách kiểm tra khi nghi dương tính giả
Nếu đây là trang bạn tin cậy và việc chặn có vẻ sai, hãy xử lý như khi báo một lỗi, chứ đừng biến nó thành cuộc chiến với trình chặn:
- Xác định quy tắc khớp và danh sách chứa nó. Đừng đoán; trang chặn cho bạn biết.
- Kiểm tra danh sách có mới không. Danh sách được cập nhật thường xuyên, và bản cũ có thể giữ mục mà người duy trì đã sửa. Cập nhật danh sách rồi tải lại.
- Báo dương tính giả cho người duy trì danh sách. Dự án EasyList theo dõi vấn đề tại github.com/easylist/easylist. Báo cáo ở đó sửa quy tắc cho tất cả mọi người, trong khi nhà phát triển tiện ích không sở hữu nội dung danh sách.
- Dùng ngoại lệ hẹp nhất mà vẫn hiệu quả. Bộ lọc ngoại lệ (
@@) cho phép các yêu cầu khớp đi qua và có thể giới hạn trong một trang. Cách đó tốt hơn việc tắt hẳn trình chặn. - Chỉ tạm cho qua với trang bạn tin cậy. Cảnh báo xuất hiện vì có thứ gì đó đã khớp; vài giây bất tiện rẻ hơn nhiều so với tải một trang lạ.
Về phạm vi: bài này nói về cách xử lý khi bạn vô tình gặp một lần chặn trên trang hợp lệ. Đây không phải hướng dẫn vượt qua cơ chế bảo vệ của trang web hay kiểm soát truy cập của bất kỳ ai.
Mọi trình duyệt có hoạt động giống nhau không?
Không hoàn toàn. Bản uBlock Origin cổ điển kiểm tra từng yêu cầu bằng script và hiện trang chặn riêng; nó vẫn được hỗ trợ đầy đủ trên Firefox, còn Chrome đã loại bỏ nền tảng tiện ích Manifest V2 mà nó dựa vào. Với Manifest V3 của Chrome, các tiện ích chặn yêu cầu mạng được kỳ vọng đưa cho trình duyệt một bộ quy tắc đã biên dịch qua declarativeNetRequest thay vì kiểm tra từng yêu cầu bằng script, nên cách hiển thị "trang bị chặn" và các tùy chọn quy tắc có thể khác nhau giữa các trình chặn. Ý tưởng vẫn như nhau: một quy tắc từ danh sách bộ lọc khớp với URL tài liệu, và trình chặn hành động trước khi trang tải.
Kiểm tra trình duyệt nào thực sự đang bật trình chặn
Nếu bạn không chắc hồ sơ trình duyệt nào đang chặn, công cụ kiểm tra tiện ích và plugin của BrowserInsight chạy cùng bài kiểm tra phần tử mồi mà các trang web dùng, cho thấy trình chặn nội dung có đang hoạt động trong trình duyệt bạn dùng lúc này hay không. Đây là phép thử về giao diện, nên trình chặn ở tầng mạng như dịch vụ DNS lọc sẽ không hiện trong đó. Để xem góc nhìn từ phía trang web, hãy đọc cách trang web phát hiện trình chặn quảng cáo. Về vấn đề tin cậy, tức tiện ích lọc nhìn thấy gì trên các trang bạn truy cập, hãy xem rủi ro quyền riêng tư của tiện ích trình duyệt. Và nếu việc chặn liên quan tới tên miền trông như của chính trang nhưng không phải, ngụy trang CNAME giải thích vì sao các danh sách cũng nhắm tới máy chủ theo dõi giả dạng tên miền con.
Câu hỏi thường gặp
Cảnh báo trang bị chặn có nghĩa là trang web nguy hiểm không?
Không. Nó nghĩa là một bộ lọc trong một danh sách bạn chọn khớp với địa chỉ. Đó có thể là máy chủ quảng cáo hoặc theo dõi thật, nhưng cũng có thể là mẫu quá rộng hoặc mục đã lỗi thời, nên hãy xem quy tắc khớp trước khi kết luận.
Trang web đang chặn tôi, hay trình chặn quảng cáo của tôi đang chặn trang web?
Trình chặn quảng cáo của bạn. Với chặn nghiêm ngặt, trình duyệt hoàn toàn không kết nối tới máy chủ, nên trang web không thấy yêu cầu và không thể từ chối nó.
"Proceed" trong uBlock Origin kéo dài bao lâu?
Mặc định cho qua tạm thời kéo dài 120 giây, chỉnh được qua thiết lập nâng cao strictblockingbypassduration. Đánh dấu "Don't warn me again about this site" trước khi tiếp tục sẽ khiến việc cho qua có hiệu lực vĩnh viễn với trang đó.
Tôi báo quy tắc chặn nhầm trang hợp lệ ở đâu?
Cho người duy trì danh sách chứa quy tắc đó. Với EasyList, đó là trang theo dõi vấn đề của nó trên GitHub. Bản thân tiện ích chỉ đọc danh sách.


