Ich habe ein Gerät mit einem webbasierten Kontrollfeld und habe es versehentlich so eingestellt, dass alle http
Seiten zu umgeleitet werden https
, obwohl einige nicht funktionieren https
. Obwohl ich dies inzwischen korrigiert habe, scheint Safari die Weiterleitung auswendig gelernt zu haben und weigert sich, sie zu vergessen, stattdessen versuche ich ständig, mich an die ungültige https
Adresse weiterzuleiten .
Ich habe Safari bereits geschlossen, gelöscht ~/Library/Caches/com.apple.Safari/
und ~/Library/Cookies/HSTS.plist
es scheint sich immer noch an die Umleitung zu erinnern, wenn ich sie wieder öffne.
Wo könnte Safari diese Informationen sonst noch speichern? Ich kann über Firefox oder Chrome auf die richtige Seite zugreifen, sodass es sich möglicherweise nicht um einen systemweiten Dienst handelt oder wenn dies nicht der Fall ist, den die anderen Browser verwenden.
Leider, da das Web-Panel von einem Gerät bereitgestellt wird, von dem ich nicht glaube, dass ich die Header anpassen oder eine Umleitung zurück zur richtigen URL einrichten kann. Dies scheinen Optionen zu sein, die in anderen ähnlichen Fragen angeboten werden. Daher muss ich wirklich herausfinden, wo dies ist Daten werden gespeichert, damit ich sie mit Feuer zerstören kann.
~/Library/Safari
Ordner zu verwerfen / wegzuschieben und zu prüfen, ob das Problem dadurch behoben wird? In diesem Fall können Sie mit Elementen im Ordner experimentieren, bis Sie die Täterdatei gefunden haben.Antworten:
Basierend auf der Antwort von quanta :
Ich konnte nicht verwenden,
launchctl unload /System/Library/LaunchAgents/com.apple.nsurlstoraged.plist
da der Systemintegritätsschutz aktiviert ist:Ich konnte es jedoch umgehen, indem ich Folgendes ausführte:
killall nsurlstoraged
(stoppt den nsurlstoraged-Prozess Ihres Benutzers; ich habe ihn tatsächlich ausgeführtsudo killall nsurlstoraged
, aber ich vermute, dass es nicht erforderlich ist, den nsurlstoraged-Prozess des Systems ebenfalls zu stoppen, da sich der Cache im Library-Ordner des Benutzers befindet.)rm -f ~/Library/Cookies/HSTS.plist
(löscht den HSTS-Cache)launchctl start /System/Library/LaunchAgents/com.apple.nsurlstoraged.plist
(startet nsurlstoraged neu)quelle
HSTS.plist
Datei das Problem nicht zu beheben, da sie weiterhin neu erstellt wird. Nachdem Sie jedoch die HSTS-Datei getötetnsurlstoraged
und dann entfernt haben, hat dies den Trick getan!~/Library/Cookies/HSTS.plist
und entfernen Sie den Eintrag für die Website, die ich auf http 3. Neustart des Computersrm -f ~/Library/Cookies/HSTS.plist
wird zurückgegeben, esOperation not permitted
sei denn, Sie haben in den Systemeinstellungen den vollständigen Festplattenzugriff auf Terminal.app gewährt => Sicherheit und Datenschutz => Datenschutz. Ansonsten hat die Lösung einwandfrei funktioniert! Vielen Dank!rm ~/Library/Cookies/HSTS.plist ; touch ~/Library/Cookies/HSTS.plist ; chmod guo-wrx ~/Library/Cookies/HSTS.plist
hat mir nicht mal geholfen, hat es aberkillall nsurlstoraged
getan.Wenn Sie das Menü "Entwickeln" in den Safari-Einstellungen aktivieren, können Sie den Cache von dort löschen (CMD + ALT + E).
Können Sie bestätigen, dass das Öffnen des Bedienfelds des Geräts im privaten Safari-Fenster (oder in einem anderen Webbrowser) ordnungsgemäß funktioniert?
quelle
~/Library/Caches/com.apple.Safari
sodass die Umleitung an einer anderen Stelle gespeichert werden muss. HSTS war die Funktion, die ich versehentlich aktiviert, aber bereits gelöscht habe~/Library/Cookies/HSTS.plist
.Basierend auf der Antwort von @ Haravikk: /apple//a/267783/62907
fs_usage kann helfen:
So können wir:
dann:
und versuche es noch mal.
quelle
Sie werden gute Ergebnisse erzielen, wenn Sie die Befehlszeile zum
curl
Gerät verwenden, um sicherzustellen, dass die Umleitung nicht ausgeführt wird. Safari verfügt nicht wirklich über eine Engine zum Umschreiben von Adressen - insbesondere, wenn Sie zum privaten Surfen gehen, um Verlauf, Cookies usw. zu entfernen.Wenn Sie nicht sicher sind, ob Sie Ihre Safari ausreichend bereinigt haben, können Sie auch testen, indem Sie die Systemeinstellungen öffnen und ein sauberes / neues Benutzerkonto auf dem Mac erstellen und die Site auf einer völlig sauberen Version von Safari testen, nachdem Sie sich von Ihrem normalen Benutzer abgemeldet haben .
quelle
Daher habe ich eine Problemumgehung gefunden, obwohl dies keine endgültige Antwort auf die eigentliche Frage ist. Ich werde sie daher erst dann als solche kennzeichnen, wenn ich weitere Informationen finde.
Es stellt sich heraus, dass die Datei
~/Library/Cookies/HSTS.plist
tatsächlich die Ursache des Problems war, wie ich vermutet habe. Das Löschen dieser Datei aus dem betroffenen Benutzerkonto funktioniert jedoch nicht, auch wenn Safari geschlossen ist, da sie nach einer unbekannten Zeitspanne mit dem Verstoß neu erstellt wird Eintrag, der die ungültige Umleitung erzwang.Meine Lösung war also die folgende:
su shortname
ersetzen Sie "Kurzname" durch den Kurznamen des betroffenen Benutzerkontos. Drücken Sie die Eingabetaste und geben Sie bei Aufforderung das Kennwort für das betroffene Konto ein.rm ~/Library/Cookies/HSTS.plist
und drücken Sie die Eingabetaste. Dadurch wird die HSTS-Speicherdatei gelöscht.exit
, drücken Sie die Eingabetaste und schließen Sie das Terminal.Jetzt können Sie sich wieder in das betroffene Benutzerkonto einloggen, und die störende HSTS-Umleitung sollte endgültig verschwunden sein.
Obwohl dies eine brauchbare Problemumgehung darstellt, möchte ich wirklich wissen, warum das Löschen der Datei HSTS.plist von meinem betroffenen Konto nicht funktioniert hat. Die Tatsache, dass es neu erstellt wird, bedeutet, dass ein Hintergrundprozess dafür verantwortlich ist. Dies bedeutet, dass es möglich sein sollte, die Datei aus dem betroffenen Benutzerkonto zu löschen, indem dieser Prozess einfach gestoppt, die Datei gelöscht und anschließend der Prozess neu gestartet wird.
Hat jemand irgendwelche Ideen, welcher Prozess für die
~/Library/Cookies/HSTS.plist
Datei verantwortlich ist? Sobald wir wissen, dass es möglich sein sollte, das Problem einfacher zu beheben.quelle
Hier ist eine Idee!
Sie können die Umleitung nicht rückgängig machen, indem Sie den Server so einstellen, dass https-Anforderungen zurück an http umgeleitet werden (da Sie keinen Administratorzugriff dazu haben).
Aber was , wenn Sie Trick Safari in dieser umgekehrten Umleitung , dass Angebote auf einen anderen Server zu verbinden?
Sie können dies in der
/etc/hosts
Datei Ihres lokalen Computers einrichten .Angenommen, die aktuell zwischengespeicherte Umleitung ist von
http://example.com
bishttps://example.com
.Richten Sie nun eine URL ein oder identifizieren Sie sie, die Sie auf jedem Server der Welt anfordern können, der von https zurück zu http umleitet. Nehmen wir an, der Server hat die Adresse von
https://redirecting.example.com
.Dann suchen Sie die IP-Adresse von
redirecting.example.com
. Im Terminal können Sie das so machen:Sie erhalten ein Ergebnis in etwa wie folgt:
Öffnen Sie nun Ihre Datei / etc / hosts und fügen Sie eine neue Zeile hinzu, die Anfragen für example.com an die IP-Adresse von redirecting.example.com verweist, wie folgt:
Speichern Sie Ihre Änderungen und leeren Sie den DNS-Cache im Terminal wie folgt:
Dann in Safari eine Anfrage stellen, für
https://example.com
die Antwort sollte eine Weiterleitung zurück seinhttp://example.com
, an welcher Stelle (Daumen drücken) Ihre Safari-Weiterleitung von vor 6 Monaten überschrieben wird.Wenn Sie fertig sind, entfernen Sie die Zeile, die Sie zu Ihrer Datei / etc / hosts hinzugefügt haben, und leeren Sie den DNS-Cache erneut.
quelle
~/Library/Cookies/HSTS.plist
als der Schuldige erscheint, aber das Löschen aus dem betroffenen Konto funktioniert nicht (da es neu erstellt wird) einige Zeit später mit fehlerhafter Weiterleitung). Ich bin mir jedoch nicht sicher, welcher Prozess dies tut.Nachdem ich all diese Lösungen ausprobiert hatte, funktionierte für mich Folgendes:
~/Library/Cookies/HSTS.plist
quelle
Meine zwei Cent für das neue MacOS Mojave 10.14 Beta (18A365a)
a) Sie können nicht definitiv aufhören
nsurlstoraged
, es startet in 2 Sekunden neu, auch wenn sudob) Sie können "HSTS.plist" nicht löschen : wenn Sie Folgendes eingeben:
Sie erhalten: Operation nicht erlaubt
c) auch wenn Sie versuchen:
Sie erhalten: Operation nicht erlaubt
das gleiche für
(leere Akte..)
Sie können also nicht definitiv darauf zugreifen . (vielleicht SIP?)
d) Seltsamerweise können Sie Folgendes aus dem Finder löschen :
CMD Shift G "~ / Bibliothek / Cookies /"
und du kannst mit der maus löschen:
e) Seltsamer: Sie können mit der Maus zum Desktop wechseln, ihn bearbeiten und wieder platzieren !
(Ein echter Quatsch, GUI ist mächtiger als sudo ..)
quelle
In Safari, Firefox und Chrome müssen Sie lediglich die Entwickler-Seitenleiste öffnen , die Registerkarte "Netzwerk" auswählen und die Zwischenspeicherung deaktivieren .
In Safari ist das eine durchgestrichene Tube, die blaue neben dem Mülleimer-Logo. Aktivieren Sie dies, und die alte permanente Umleitung sollte ignoriert werden.
Der größte Vorteil ist, dass Sie nicht mit Dateien herumspielen müssen, nicht alle HTST-Einträge löschen und die Sicherheitsvorteile verlieren. Es funktioniert auch über Browser hinweg.
quelle
Zunächst stellen Sie sicher , der Server ist nicht das Senden der Strict-Transport-Sicherheits - Header
Sie können dies tun mit
curl -I
(-I
wird nur die Kopfzeilen)Wenn der Server den Strict-Transport-Security-Header sendet, hat das Entfernen aus Ihrem Browser keine Auswirkung, da er beim nächsten Zugriff auf die Site erneut festgelegt wird.
Entfernen Sie Ihre Site aus der Http Secure Transport Security-Datenbank von Safari
~/Library/Cookies/HSTS.plist
Suchen Sie nach dem Eintrag für die Site, auf die Sie über http zugreifen möchten, entfernen Sie ihn und speichern Sie die Datei.
nsurlstoraged
, können Sie einen Neustart durchführen. Dies kann jedoch durch SIP verursacht werden, sodass ein Neustart des Computers möglicherweise einfacher ist. Siehe Grants Antwort und Quantas Antwort zum Neustartnsurlstoraged
quelle
Aus Grand Heaslips Antwort habe ich ein Drehbuch gemacht:
Es beendet die Safari ordnungsgemäß, stoppt nsurlstoraged, entfernt die HSTS.plist und startet nsurlstoraged erneut. Dies hat bei mir unter macOS 10.13.5 einwandfrei funktioniert
quelle
Ich benutze Mojave (10.14). Ich habe die bisher angegebenen Methoden ausprobiert, um HSTS.plist zu entfernen. Außerdem musste ich Terminal zu den Systemeinstellungen> Sicherheit & Datenschutz> Vollständiger Datenträgerzugriff hinzufügen, um das Symptom "Vorgang nicht zulässig" beim Auflisten des Inhalts von ~ / Library / Cookies / zu beseitigen.
Das Entfernen der Datei und der Neustart des Daemons funktionierten jedoch nicht. Also habe ich erneut versucht, Safari zu öffnen, ging zu Einstellungen, Datenschutz, Websitedaten verwalten. Dann habe ich alle "Cache-Cookies, lokaler Speicher" für den anstößigen Domainnamen entfernt. Das hat mein Problem gelöst.
Ich kann jetzt nicht sagen, ob das Entfernen von HSTS erforderlich war oder nicht.
quelle
Versuchen Sie dies dann, gehen Sie zu Schritt 1: Gehen Sie zu ~ / Library-Ordner, Schritt 2: Löschen Sie den Safari-Ordner von ~ / Library / Application Support, Schritt 3: Löschen Sie die folgenden Ordner von ~ / Library / Caches, Schritt 4: Löschen Sie dann ~ / Bibliothek / Safari-Ordner PS: Halten Sie die Safari während der obigen Vorgänge geschlossen
quelle