Có thể ngăn Chrome và các trình duyệt khác tải trước / hiển thị trang web của tôi không?


14

Tôi biết bạn có thể hướng dẫn Chrome để liên kết prefetch bạn nghĩ người dùng là khả năng nhấp vào trang web của bạn , nhưng có thể bạn cũng làm nghịch đảo? Bạn có thể nói với Chrome (hoặc thực sự là bất kỳ trình duyệt nào ) không tải trước và đăng ký trước trang web của bạn không?

Có thẻ hoặc cách nào khác tôi có thể nói với các trình duyệt rằng các liên kết tìm nạp trước từ trang đang xem không nên được thực hiện?


1
Tò mò, tại sao bạn muốn điều này?
Martijn

@Martijn Một trường hợp mà tôi có thể thấy là khi trang web của bạn chứa nội dung phụ thuộc nhiều vào thời gian hoặc độ động cao trong đó độ trễ giữa kết xuất trang và khi người dùng thực sự thấy vấn đề.
Anders Fjeldstad

Câu trả lời:


12

Chrome và Safari gửi X-Purpose: previewtiêu đề HTTP khi tìm nạp trước / hiển thị nội dung web. [ Nguồn ]

Firefox gửi một tiêu đề tương tự được gọi là X-moz: prefetch. [ Nguồn ]

Để chặn tìm nạp trước, bạn có thể trả về phản hồi 404 khi phát hiện các tiêu đề như vậy, như đề xuất của Peter Freitag trong bài đăng trên blog này . Ông khuyên nên thêm các dòng này .htaccessđể chặn tìm nạp trước Firefox:

RewriteEngine On
SetEnvIf X-moz prefetch HAS_X-moz 
RewriteCond %{ENV:HAS_X-moz} prefetch 
RewriteRule .* /prefetch-attempt [L]

Bạn có thể mở rộng điều này để chặn tìm nạp trước Firefox, Safari và Chrome như thế này (chưa được kiểm tra, nhưng sẽ hoạt động):

RewriteEngine On
SetEnvIf X-moz prefetch HAS_preview 
SetEnvIf X-Purpose preview HAS_preview
RewriteCond %{ENV:HAS_preview} .
RewriteRule .* /prefetch-attempt [L]


1

Câu trả lời trên không làm việc cho tôi. Những gì đã làm việc, tuy nhiên, là đây:

RewriteEngine On
SetEnvIfNoCase X-Forwarded-For .+ proxy=yes
SetEnvIfNoCase X-moz prefetch no_access=yes

# block pre-fetch requests with X-moz headers
RewriteCond %{ENV:no_access} yes
RewriteRule .* - [F,L]

Từ: Askapache.com

Cờ [F] trả về mã trạng thái Cấm 403 cho trình duyệt, trong khi [L] chỉ ra quy tắc đó phải là quy tắc cuối cùng được xử lý.

Ngoài ra, chrome dường như không tìm nạp trước các liên kết nữa (ít nhất là đối với các thẻ meta trước / sau).

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.