Wenn ich beispielsweise eine URL eingebe und die Eingabetaste drücke, abc.com
erwarte ich nicht, woanders zu landen. Ich erwarte eine Fehlerseite, wenn es keine Site mit dieser URL gibt. Stattdessen werde ich jedoch zu einer anderen URL (sogar einer anderen Domain: abc.go.com
) umgeleitet.
Ich bin kein Experte für Webtechnologie, aber soweit ich weiß, gibt es zwei Hauptkategorien von Weiterleitungen: DNS-/Registrar-Weiterleitungen (unsichtbar) und serverseitige Weiterleitungen (sichtbar, HTTP-Code 301 oder 302).
Wie verhindere ich diese serverseitigen Weiterleitungen in Chrome? Im besten Fall erhalte ich eine Eingabeaufforderung, die mir mitteilt, dass die Seite eine andere URL oder IP hat, und fragt, ob ich fortfahren möchte.
Ein weiteres Beispiel: hackoverflow.com
Ich werde von hier aus auf zwei Seiten umgeleitet. Nach der ersten Umleitung kann ich einen Blick auf eine gestaltete Homepage werfen, bevor ich auf eine Parkseite weitergeleitet werde. Ich möchte diese doppelte Umleitung auf halbem Weg stoppen und mir die zweite Seite ansehen.
Antwort1
Mir ist bewusst, dass dies bei weitem keine perfekte Antwort ist, da es nur bei Antworten funktioniert, die Inhalte bereitstellen. Ich habe mich jedoch dazu entschlossen, sie zu veröffentlichen, da es derzeit keine nützlichen, umsetzbaren Antworten gibt.
Als schnelle und einfache Lösung können Sie möglicherweise den Debugger (zugänglich über F12
oder CTRL+SHIFT+I
in den meisten Browsern) verwenden, um sich die Möglichkeit zu geben, eine Weiterleitung abzulehnen.
Führen Sie diese Zeile in der Konsole aus, bevor die Seite eigene Skripts ausführt:
window.onbeforeunload = function(){ return 'Leave page?'; };
Beispielsweise mit Chrome:
- Öffnen Sie den Debugger (
F12
) und wechseln Sie zumQuellenTab. - Drücken Sie
F8
, um den Debugger in den Schritt-für-Schritt-Modus zu versetzen. - Navigieren Sie zur problematischen Seite. Sie wird geladen, aber der Debugger lässt die Ausführung von Skripts nicht zu.
- Fügen Sie den obigen Code in die Konsole ein und drücken Sie die Eingabetaste.
- Drücken Sie
F8
erneut, um die Ausführung von Skripten zuzulassen und das vollständige Laden der Seite zuzulassen. - Jetzt wird Ihnen vor jeder Weiterleitung eine Eingabeaufforderung angezeigt und Sie haben die Möglichkeit, diese abzubrechen.
- Wenn die Seite wiederholt versucht, Sie umzuleiten, können Sie Chrome anweisen, den Dialog nicht erneut anzuzeigen. Weitere Versuche der Seite, Sie an eine andere Stelle umzuleiten, schlagen stillschweigend fehl.
Antwort2
Eine weitere Möglichkeit, eine Weiterleitung vorübergehend zu verhindern, besteht darin, esc
vor der Weiterleitung die Schaltfläche zu drücken.
esc
stoppt die Ausführung von JS auf der Seite, aber auch die Darstellung von HTML. Wenn es also früh genug gedrückt wird, sollte die Umleitung nicht stattfinden, aber möglicherweise wird die Seite nicht vollständig geladen. Es kann nützlich sein, Seiteninhalte und andere Informationen wie Cookies zu untersuchen
Antwort3
Meiner Erfahrung nach gibt es mit diesem Problem nicht in jeder Situation eine gute Möglichkeit, damit umzugehen. Erst neulich bin ich bei der Analyse eines Phishing-Betrugs im Bankwesen auf dieses Problem gestoßen. Ich suchte selbst nach einer Erinnerung an dieses Problem, da es schon eine Weile her war. Ich habe versucht, Dinge in Chrome zu ändern, damit die Seite nicht mehr automatisch umgeleitet wird, aber nichts hat funktioniert. Der Grund dafür, dass es nicht funktioniert hat, ist, dass oben auf der Seite Folgendes stand:
<html>
<head>
<meta content='0;URL='https://scam-website-two.scam'' http-equiv='refresh' />
</head>
<!-- other HTML here -->
</html>
Dieses meta
Tag leitete nach dem Erreichen der ersten Betrugswebsite auf eine zweite Betrugswebsite weiter. Weitere Informationen zur Weiterleitung mit dem meta
TagHier.
Soweit ich das beurteilen kann, konnte ich die Umleitung daher nicht stoppen. Es war mir aber egal, denn meine Ausweichlösung für solche nervigen Situationen besteht darin, die Webseite einfach als Textdatei herunterzuladen und den Inhalt zu analysieren, und genau das habe ich getan.
Es gibt verschiedene Möglichkeiten, dies zu tun. Da ich in meiner dedizierten Linux-VM arbeitete, in der ich Betrügereien analysiere, habe ich Folgendes im Terminal (Bash) getan:
content=$(wget http://scam-website-one.scam -q -O -)
echo $content > scam.html
Zusammenfassend ist der grundlegende Algorithmus:
- Wählen Sie eine Sprache
- Führen Sie einen HTTP GET für die Problem-URL durch
- Ausgabezeichenfolge in einer Variablen speichern
- Ausgabezeichenfolge in Datei speichern
Wie ich bereits erwähnt habe, hilft Ihnen dies zumindest dabei, herauszufinden, was die Weiterleitung verursacht. Nachdem ich die Datei heruntergeladen hatte, entfernte ich dieses meta
Tag und konnte dann die Seite überprüfen.
Antwort4
Soweit ich weiß, gibt es keine Möglichkeit, diese Funktion zu deaktivieren.
Noch wichtiger ist jedoch, dass dadurch eine sehr grundlegende Funktionalität zerstört würde, auf die Webserver angewiesen sind. Sie können davon ausgehen, dass viele Websites einfach nicht mehr funktionieren würden.
Zumindest würden - alle 'www'-Weiterleitungen nicht mehr funktionieren - alle 'http-zu-https'-Weiterleitungen nicht mehr funktionieren
Sie müssten also manuell eingeben:https://www' vor jeder Domäne.
Darüber hinaus würden auch zahlreiche Unterseiten innerhalb von Websites nicht mehr funktionieren.
Daher würde es mich nicht überraschen, wenn die Entwickler von Chrome und Firefox es sehr schwierig oder unmöglich machen würden, Weiterleitungen auf Browserebene vollständig zu deaktivieren.