it-swarm.com.de

Ist es möglich, Chrome und andere Browser daran zu hindern, meine Site vorab abzurufen / zu rendern?

Ich weiß, dass Sie Anleitung Chrome zum Vorabrufen von Links, von denen Sie glauben, dass Nutzer wahrscheinlich auf Ihre Website klicken , aber können Sie auch das Gegenteil tun? Können Sie Chrome (oder wirklich jedem Browser anweisen, Ihre Site nicht vorab abzurufen und vorzurendern?

Gibt es ein Tag oder eine andere Möglichkeit, mit der ich Browsern mitteilen kann, dass das Abrufen von Links von der aktuell angezeigten Seite nicht erfolgen soll?

14
Ian C.

Chrome und Safari senden einen HTTP-Header X-Purpose: preview, wenn Webinhalte vorab abgerufen/gerendert werden. [ Quelle ]

Firefox sendet einen ähnlichen Header mit dem Namen X-moz: prefetch. [ Quelle ]

Um das Vorabrufen zu blockieren, können Sie eine 404-Antwort zurückgeben, wenn solche Header erkannt werden, wie von Peter Freitag in dieser Blog-Beitrag vorgeschlagen. Er empfiehlt, diese Zeilen zu .htaccess hinzuzufügen, um das Firefox-Prefetching zu blockieren:

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

Sie können dies so erweitern, dass Firefox, Safari und das Prefetching von Chrome blockiert werden (ungetestet, sollte aber funktionieren):

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

Google Chrome sendet keine speziellen Header mehr an Prerender-Anfragen. Sehen:

7
hawk

Die obige Antwort hat bei mir nicht funktioniert. Was jedoch funktionierte, war Folgendes:

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]

Von: askapache.com

Das [F] -Flag gibt einen 403 Forbidden-Statuscode an den Browser zurück, während das [L] angibt, dass die Regel die letzte zu verarbeitende Regel sein sollte.

Außerdem scheint chrome keine Links mehr vorab abzurufen (zumindest für die vorherigen/nächsten Meta-Tags).

1
Gabe Hiemstra