38 votes

Comment supprimer complètement les redirections en cache de Safari ?

J'ai un appareil avec un panneau de contrôle basé sur le Web, et je l'ai accidentellement configuré pour rediriger toutes les données de la base de données. http pages à https même si certains ne fonctionnent pas sur https . Bien que j'aie depuis corrigé cette erreur, Safari semble avoir mémorisé la redirection et refuse de l'oublier, essayant constamment de me rediriger vers le site non valide. https adresse.

J'ai déjà fermé Safari, effacé ~/Library/Caches/com.apple.Safari/ y ~/Library/Cookies/HSTS.plist mais il semble toujours se souvenir de la redirection lorsque je le rouvre.

Où d'autre Safari pourrait-il stocker ces informations ? Je peux accéder à la page correcte via Firefox ou Chrome, il ne s'agit donc peut-être pas d'un service à l'échelle du système, ou si c'est le cas, ce n'est pas un service utilisé par les autres navigateurs.

Malheureusement, comme le panneau web est fourni par un appareil, je ne pense pas pouvoir ajuster les en-têtes ou configurer une redirection vers l'URL correcte, qui semblent être des options proposées dans d'autres questions similaires. J'ai donc vraiment besoin de trouver où ces données sont stockées afin de pouvoir les détruire par le feu.

0 votes

0 votes

Avez-vous essayé de mettre à la poubelle ou de mettre de côté votre ~/Library/Safari et voir si cela résout le problème ? Si c'est le cas, vous pouvez expérimenter avec les éléments du dossier jusqu'à ce que vous trouviez le fichier coupable.

0 votes

Comment avez-vous défini la redirection ? Avec une extension ou un paramètre de Safari ?

44voto

Grant Heaslip Points 536

Sur la base de Réponse de quanta :

Je n'ai pas pu utiliser launchctl unload /System/Library/LaunchAgents/com.apple.nsurlstoraged.plist parce que j'ai Protection de l'intégrité du système activé :

$ 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

Cependant, j'ai pu contourner le problème en procédant comme suit :

  • killall nsurlstoraged (arrête le processus nsurlstoraged de votre utilisateur ; j'ai en fait exécuté sudo killall nsurlstoraged mais je pense qu'il n'est pas nécessaire d'arrêter le nsurlstoraged du système, puisque le cache est dans le dossier de la bibliothèque de l'utilisateur.)
  • rm -f ~/Library/Cookies/HSTS.plist (supprime le cache HSTS)
  • launchctl start /System/Library/LaunchAgents/com.apple.nsurlstoraged.plist (redémarre nsurlstoraged)

0 votes

Je ne peux pas assez upvote cette réponse. Il semble qu'au moins sur Sierra, le simple fait d'enlever l'option HSTS.plist ne résoudra pas le problème car il continuera à être reconstruit. Cependant, après avoir tué nsurlstoraged y puis en supprimant le fichier HSTS, cela a fait l'affaire !

1 votes

Merci beaucoup, upvoted, mais je l'ai fait comme ça. 1. Fermer Safari 2. Modifier ~/Library/Cookies/HSTS.plist et supprimer l'entrée pour le site que je veux sur http 3. Redémarrer l'ordinateur

0 votes

Oui, redémarrer est le conseil que toutes les autres réponses vous donnent, mais avec 20 applications ouvertes, c'est beaucoup plus pratique et rapide de redémarrer le processus nsurlstoraged. Merci @nvahalik !

10voto

Filip Jurik Points 140

Si vous activez le menu Développer dans les préférences de Safari, vous pouvez vider le cache à partir de là (CMD+ALT+E).

Pouvez-vous confirmer que l'ouverture du panneau de contrôle de l'appareil dans la fenêtre privée de Safari (ou dans un autre navigateur Web) fonctionne correctement ?

1 votes

Malheureusement, l'option du menu "Développer" ne semble pas supprimer la redirection, pas plus que la fermeture de Safari et la suppression manuelle des données. ~/Library/Caches/com.apple.Safari donc la redirection doit être stockée quelque part ailleurs. HSTS est la fonctionnalité que j'ai accidentellement activée mais j'ai déjà supprimé ~/Library/Cookies/HSTS.plist .

1 votes

Je peux également confirmer que cette réponse ne résout pas le problème.

1 votes

Celui-ci a fonctionné pour moi

8voto

quanta Points 255

Basé sur la réponse de @Haravikk : https://apple.stackexchange.com/a/267783/62907

Quelqu'un a-t-il une idée du processus responsable du fichier ~/Library/Cookies/HSTS.plist ?

fs_usage peut vous aider :

 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

Donc, on peut :

launchctl unload /System/Library/LaunchAgents/com.apple.nsurlstoraged.plist

alors :

rm -f ~/Library/Cookies/HSTS.plist

et réessayez.

0 votes

Merci ! Cela a fonctionné pour moi. J'ai supprimé HSTS.plist plusieurs fois (en fermant/redémarrant Safari avant et après) et il était toujours recréé avec exactement le même contenu qu'avant. Décharger nsurlstoraged d'abord, puis supprimer la plist et redémarrer nsurlstoraged m'a donné une plist propre.

2 votes

Vous pourriez l'améliorer en précisant qu'il faut quitter et relancer Safari pour que cela fonctionne. De plus, plutôt que de supprimer le fichier HSTS.plist, j'ai simplement supprimé la clé du domaine problématique.

7voto

luckydonald Points 153

Dans Safari, Firefox et Chrome également, il vous suffit d'ouvrir l'application barre latérale du développeur sélectionnez l'onglet réseau, et désactiver le cachin g.

Dans Safari, il s'agit d'un tube barré, le bleu à côté du logo de la poubelle. Activez-le, et l'ancienne redirection permanente devrait être ignorée. Safari disable chaching 503 permanent redirects

Le plus grand avantage est que vous n'avez pas à vous occuper des fichiers, vous ne supprimerez pas toutes les entrées HTST et perdrez les avantages de la sécurité. Il fonctionne également avec tous les navigateurs.

0 votes

Bien que cela soit très utile à savoir, pouvez-vous confirmer si cela fonctionne comme une solution permanente ? c'est-à-dire que si le cache est réactivé, le problème va-t-il réapparaître, ou est-ce que le fait de le désactiver temporairement le fait disparaître ?

1 votes

@Haravikk dans mes tests, il ne revenait pas à l'utilisation de la redirection permanente quand une nouvelle page pouvait être chargée à la place. Même après avoir fermé la fenêtre de développement, si cela répond à votre question.

4voto

Haravikk Points 1128

J'ai donc trouvé une solution de contournement au problème, bien qu'il ne s'agisse pas d'une réponse définitive à la question posée, je ne la marquerai donc pas comme telle jusqu'à ce que je puisse trouver plus d'informations.

Il s'avère que le fichier ~/Library/Cookies/HSTS.plist était en effet à l'origine du problème, comme je le soupçonnais. Cependant, sa suppression à partir du compte utilisateur concerné ne fonctionne pas, même avec Safari fermé, car il est recréé après un laps de temps inconnu, avec l'entrée incriminée qui forçait la redirection invalide.

Ma solution était donc la suivante :

  1. Assurez-vous que vous avez au moins un autre compte utilisateur sur votre Mac (sinon, créez-en un).
  2. Déconnexion du compte utilisateur concerné.
  3. Connectez-vous à un autre compte d'utilisateur (un compte d'invité peut ne pas être suffisant, selon les restrictions).
  4. Trouvez le nom court de votre compte utilisateur affecté ; si vous ne le savez pas, le meilleur moyen de le vérifier est de regarder dans Préférences Système -> Utilisateurs. En général, il s'agit du nom complet, en minuscules et sans espace, donc si votre nom complet est "John Smith", le nom court peut être "johnsmith".
  5. Ouvrez une fenêtre dans Terminal, tapez su shortname en remplaçant "shortname" par le nom court du compte utilisateur concerné. Appuyez sur Entrée et, lorsque vous y êtes invité, saisissez le mot de passe du compte concerné.
  6. Maintenant, tapez la commande suivante rm ~/Library/Cookies/HSTS.plist et appuyez sur Entrée, cela supprimera le fichier de stockage HSTS.
  7. Enfin, le type exit appuyez sur Entrée et fermez le terminal.

À ce stade, vous pouvez vous reconnecter au compte utilisateur concerné et la redirection HSTS devrait avoir disparu pour de bon.

Le fait qu'il soit recréé signifie qu'un processus en arrière-plan en est responsable, ce qui signifie qu'il devrait être possible de supprimer le fichier du compte utilisateur concerné en arrêtant simplement ce processus, en supprimant le fichier, puis en relançant le processus.

Quelqu'un a-t-il une idée du processus qui est responsable de l'échec de l'opération ? ~/Library/Cookies/HSTS.plist fichier ? Une fois que nous savons cela, il devrait être possible de donner une solution plus simple au problème.

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X