Ich habe ein Gerät mit einem webbasierten Steuerungsfeld und habe es versehentlich so eingestellt, dass alle http
Seiten auf umgeleitet werden https
, obwohl einige nicht über funktionieren https
. Obwohl ich dies inzwischen korrigiert habe, scheint sich Safari die Umleitung gemerkt zu haben und weigert sich, sie zu vergessen, sondern versucht stattdessen ständig, mich an die ungültige https
Adresse umzuleiten.
Ich habe Safari bereits geschlossen, gelöscht ~/Library/Caches/com.apple.Safari/
und ~/Library/Cookies/HSTS.plist
es scheint sich immer noch an die Weiterleitung zu erinnern, wenn ich es erneut öffne.
Wo sonst könnte Safari diese Informationen speichern? Ich kann über Firefox oder Chrome auf die richtige Seite zugreifen, daher handelt es sich möglicherweise nicht um einen systemweiten Dienst, oder wenn dies nicht der Fall ist, wird er nicht von den anderen Browsern verwendet.
Da das Web-Panel von einem Gerät bereitgestellt wird, glaube ich leider nicht, dass ich Header anpassen oder eine Umleitung zurück zur richtigen URL einrichten kann, was anscheinend Optionen sind, die in anderen ähnlichen Fragen angeboten werden, also muss ich wirklich herausfinden, wo dies der Fall ist Daten werden gespeichert, damit ich sie mit Feuer zerstören kann.
Basierend auf der Antwort von Quanta :
Ich konnte nicht verwenden, launchctl unload /System/Library/LaunchAgents/com.apple.nsurlstoraged.plist
weil ich den Systemintegritätsschutz aktiviert habe:
$ launchctl unload /System/Library/LaunchAgents/com.apple.nsurlstoraged.plist
/System/Library/LaunchAgents/com.apple.nsurlstoraged.plist: Operation not permitted while System Integrity Protection is engaged
Ich konnte es jedoch umgehen, indem ich Folgendes tat:
killall nsurlstoraged
(stoppt den nsurlstoraged-Prozess Ihres Benutzers; ich habe tatsächlich ausgeführt sudo killall nsurlstoraged
, aber ich vermute, dass es nicht notwendig ist, auch den nsurlstoraged-Prozess des Systems zu stoppen, da sich der Cache im Benutzerbibliotheksordner befindet.)rm -f ~/Library/Cookies/HSTS.plist
(löscht den HSTS-Cache)launchctl start /System/Library/LaunchAgents/com.apple.nsurlstoraged.plist
(startet nsurlstoraged neu)HSTS.plist
das Problem durch einfaches Entfernen der Datei nicht behoben wird, da sie weiterhin neu erstellt wird. Nach dem Töten nsurlstoraged
und anschließenden Entfernen der HSTS-Datei hat es jedoch funktioniert!~/Library/Cookies/HSTS.plist
und entfernen Sie den Eintrag für die Website, die ich auf http haben möchte. 3. Starten Sie den Computer neurm -f ~/Library/Cookies/HSTS.plist
wird zurückgegeben, Operation not permitted
es sei denn, Sie haben Terminal.app in den Systemeinstellungen => Sicherheit & Datenschutz => Datenschutz vollen Festplattenzugriff gewährt. 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
geholfen, aber killall nsurlstoraged
tat.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 der Systemsteuerung des Geräts im privaten Fenster von Safari (oder einem anderen Webbrowser) korrekt funktioniert?
~/Library/Caches/com.apple.Safari
, sodass die Umleitung woanders gespeichert werden muss. HSTS war die Funktion, die ich versehentlich aktiviert habe, aber ich habe sie bereits gelöscht ~/Library/Cookies/HSTS.plist
.Basierend auf der Antwort von @Haravikk: https://apple.stackexchange.com/a/267783/62907
Hat jemand eine Idee, welcher Prozess für die Datei ~/Library/Cookies/HSTS.plist verantwortlich ist?
fs_usage kann helfen:
❯❯❯❯ sudo fs_usage | grep HSTS
16:11:03 HFS_update /Users/quanta/Library/Cookies/HSTS.plist 0.000238 nsurlstorage
16:11:03 HFS_update /Users/quanta/Library/Cookies/HSTS.plist 0.000009 nsurlstorage
16:11:03 open /Users/quanta/Library/Cookies/HSTS.plist 0.016268 nsurlstorage
16:11:03 HFS_update /Users/quanta/Library/Cookies/HSTS.plist 0.000008 nsurlstorage
16:11:03 HFS_update /Users/quanta/Library/Cookies/HSTS.plist 0.000003 nsurlstorage
16:11:03 access /Users/quanta/Library/Cookies/HSTS.plist 0.000011 dbfseventsd
16:11:04 lstat64 /Users/quanta/Library/Cookies/HSTS.plist 0.000008 fseventsd
16:11:08 HFS_update /Users/quanta/Library/Cookies/HSTS.plist 0.000006 nsurlstorage
16:11:08 HFS_update /Users/quanta/Library/Cookies/HSTS.plist 0.000002 nsurlstorage
16:11:08 open /Users/quanta/Library/Cookies/HSTS.plist 0.000144 nsurlstorage
16:11:08 HFS_update /Users/quanta/Library/Cookies/HSTS.plist 0.000002 nsurlstorage
16:11:08 HFS_update /Users/quanta/Library/Cookies/HSTS.plist 0.000003 nsurlstorage
16:11:08 access /Users/quanta/Library/Cookies/HSTS.plist 0.000021 dbfseventsd
16:11:09 lstat64 /Users/quanta/Library/Cookies/HSTS.plist 0.000042 fseventsd
Wir können also:
launchctl unload /System/Library/LaunchAgents/com.apple.nsurlstoraged.plist
dann:
rm -f ~/Library/Cookies/HSTS.plist
und versuche es erneut.
Auch in Safari, Firefox und Chrome müssen Sie nur die Entwickler-Seitenleiste öffnen , den Netzwerk-Tab auswählen und das Caching deaktivieren .
In Safari ist das eine durchgestrichene Röhre, die blaue neben dem Papierkorb-Logo. Aktivieren Sie das, und die alte permanente Weiterleitung sollte ignoriert werden.
Der größte Vorteil ist, dass Sie nicht mit Dateien herumhantieren müssen, Sie werden nicht alle HTST-Einträge löschen und die Sicherheitsvorteile verlieren. Es funktioniert auch browserübergreifend.
Ich habe also eine Problemumgehung für das Problem gefunden, obwohl dies keine endgültige Antwort auf die eigentliche Frage ist, sodass ich sie nicht als solche markieren werde, bis ich weitere Informationen gefunden habe.
Es stellt sich heraus, dass die Datei ~/Library/Cookies/HSTS.plist
tatsächlich die Ursache des Problems war, wie ich vermutete, aber das Löschen aus dem betroffenen Benutzerkonto funktioniert nicht, selbst wenn Safari geschlossen ist, da sie nach einer unbekannten Zeit neu erstellt wird, komplett mit dem Anstoß Eintrag, der die ungültige Weiterleitung erzwang.
Also meine Lösung war folgende:
su shortname
und ersetzen Sie „Kurzname“ durch den Kurznamen des betroffenen Benutzerkontos. Drücken Sie die Eingabetaste und geben Sie bei Aufforderung das Passwort für das betroffene Konto ein.rm ~/Library/Cookies/HSTS.plist
ein 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.An dieser Stelle können Sie sich jetzt wieder in das betroffene Benutzerkonto einloggen und die störende HSTS-Weiterleitung sollte endgültig verschwunden sein.
Obwohl dies eine brauchbare Problemumgehung darstellt, würde ich wirklich gerne wissen, warum das Löschen der Datei HSTS.plist aus meinem betroffenen Konto nicht funktioniert hat. Die Tatsache, dass es neu erstellt wird, bedeutet, dass ein Hintergrundprozess dafür verantwortlich ist, was bedeutet, dass es möglich sein sollte, die Datei aus dem betroffenen Benutzerkonto zu löschen, indem man einfach diesen Prozess anhält, die Datei löscht und dann den Prozess neu startet.
Hat jemand eine Idee, 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.
Sie erzielen gute Ergebnisse, wenn Sie die Befehlszeile für curl
das Gerät verwenden, um sicherzustellen, dass es die Umleitung nicht durchführt. Safari hat nicht wirklich eine Engine zum Umschreiben von Adressen - besonders wenn Sie ins private Surfen gehen, um Verlauf, Cookies usw. zu entfernen ...
Wenn Sie nicht sicher sind, ob Sie Ihre Safari ausreichend gesäubert haben, können Sie dies auch testen, indem Sie die Systemeinstellungen öffnen und ein sauberes/neues Benutzerkonto auf dem Mac erstellen und die Site auf einer vollständig sauberen Version von Safari testen, nachdem Sie sich von Ihrem normalen Benutzer abgemeldet haben .
Nachdem ich all diese Lösungen ausprobiert hatte, funktionierte Folgendes für mich:
~/Library/Cookies/HSTS.plist
Hier ist eine Idee!
Sie sagen, Sie können die Umleitung nicht rückgängig machen, indem Sie den Server so einstellen, dass https-Anfragen zurück auf http umgeleitet werden (da Sie dazu keinen Administratorzugriff haben).
Aber was ist, wenn Sie Safari dazu bringen, sich mit einem anderen Server zu verbinden, der diese Rückwärtsumleitung anbietet?
/etc/hosts
Sie können dies in der Datei Ihres lokalen Computers einrichten .
Nehmen wir zum Beispiel an, die aktuelle zwischengespeicherte Weiterleitung ist von http://example.com
nach https://example.com
.
Richten Sie jetzt eine URL ein oder identifizieren Sie sie, die Sie auf jedem Server der Welt anfordern können, der von https zurück auf http umleitet. Nehmen wir an, der Server hat die Adresse von https://redirecting.example.com
.
Suchen Sie dann die IP-Adresse von redirecting.example.com
. Im Terminal können Sie Folgendes tun:
host redirecting.example.com
Sie erhalten ein Ergebnis in etwa wie folgt:
redirecting.example.com has address 69.69.69.69
Öffnen Sie nun Ihre /etc/hosts-Datei und fügen Sie eine neue Zeile hinzu, die Anfragen für example.com auf die IP-Adresse von forwarding.example.com verweist, etwa so:
### point host example.com at the ip address of redirecting.example.com
69.69.69.69 example.com
Speichern Sie Ihre Änderungen und löschen Sie Ihren DNS-Cache im Terminal wie folgt:
sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder; say DNS cache flushed
Dann stellen Sie in Safari eine Anfrage für https://example.com
die Antwort sollte eine Umleitung zurück zu sein http://example.com
, an welcher Stelle (Daumen drücken) Ihre Safari-Umleitung von vor 6 Monaten überschrieben wird.
Wenn Sie fertig sind, entfernen Sie die Zeile, die Sie Ihrer /etc/hosts-Datei hinzugefügt haben, und leeren Sie Ihren DNS-Cache erneut.
~/Library/Cookies/HSTS.plist
der Schuldige, aber das Löschen aus dem betroffenen Konto funktioniert nicht (da es neu erstellt wird einige Zeit später, komplett mit schlechter Weiterleitung). Nicht sicher, welcher Prozess es tut.Meine zwei Cent für das neue macOS Mojave 10.14 Beta (18A365a)
a) Sie können nicht endgültig anhaltennsurlstoraged
, es wird in 2 Sekunden neu gestartet, auch wenn sudo
b) Sie können „HSTS.plist“ nicht löschen : wenn Sie Folgendes eingeben:
sudo rm -f ~/Library/Cookies/HSTS.plist
Sie erhalten: Betrieb nicht erlaubt
c) selbst wenn du es versuchst:
ls -la ~/Library/Cookies/
Sie erhalten: Betrieb nicht erlaubt
das gleiche für
nano ~/Library/Cookies/HSTS.plist
(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 Sie können mit der Maus löschen:
e) Seltsamer: Sie können mit der Maus zum Desktop wechseln, ihn bearbeiten und wieder platzieren !
(ein echter Unsinn, GUI ist mächtiger als sudo..)
Stellen Sie zuerst sicher, dass der Server nicht den Strict-Transport-Security-Header sendet
Sie können dies tun mit curl -I
( -I
erhält nur die Header)
curl -I http://my-http-domain.com
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 Website erneut gesetzt wird.
~/Library/Cookies/HSTS.plist
nsurlstoraged
, dies kann jedoch aufgrund von SIP erforderlich sein, sodass ein Neustart des Computers möglicherweise einfacher ist. Siehe Grants Antwort und Quantas Antwort zum Neustartnsurlstoraged
Ich habe ein Skript aus der Antwort von Grand Heaslip erstellt:
#!/bin/sh
osascript -e 'quit app "Safari"'
sleep 2
killall nsurlstoraged
sleep 2
rm -f ~/Library/Cookies/HSTS.plist
launchctl start /System/Library/LaunchAgents/com.apple.nsurlstoraged.plist
Es beendet Safari ordnungsgemäß, stoppt nsurlstoraged, entfernt die HSTS.plist und startet nsurlstoraged erneut. Das hat bei mir hier unter macOS 10.13.5 gut funktioniert
Ich verwende Mojave (10.14). Ich habe die bisher angegebenen Methoden ausprobiert, um HSTS.plist zu entfernen. Außerdem musste ich Terminal zur Liste Systemeinstellungen > Sicherheit & Datenschutz > Vollständiger Festplattenzugriff hinzufügen, um das Symptom „Vorgang nicht zulässig“ zu beheben, wenn der Inhalt von ~/Library/Cookies/ aufgelistet wird.
Aber das Entfernen der Datei und das Neustarten des Daemons hat nicht funktioniert. Also habe ich versucht, Safari erneut zu öffnen, bin zu Einstellungen, Datenschutz, Website-Daten verwalten gegangen. 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.
Versuchen Sie es dann, gehen Sie zu Schritt 1: Gehen Sie zum Ordner ~/Library, Schritt 2: Löschen Sie den Safari-Ordner aus ~/Library/Application Support, Schritt 3: Löschen Sie die folgenden Ordner aus ~/Library/Caches, Schritt 4: Löschen Sie dann ~/ Bibliothek/Safari-Ordner PS: Lassen Sie Safari während der oben genannten Vorgänge geschlossen
Paul D. Waite
interessanterweise dort
~/Library/Safari
und zu prüfen, ob das Problem dadurch behoben wird? Wenn dies der Fall ist, können Sie mit Elementen im Ordner experimentieren, bis Sie die Schuldige-Datei finden.Eulenschlag
Alles in einem
Haravikk
Haravikk
~/Library/Cookies/HSTS.plist
Datei entfernt, die damit umgehen soll, aber es passiert immer noch in Safari.