Önbelleğe Alınan Yönlendirmeleri Safari'den Nasıl Tamamen Temizlerim?


27

Web tabanlı kontrol paneline sahip bir cihazım var ve yanlışlıkla bazılarının çalışmamasına rağmen tüm httpsayfaları yönlendirmek üzere yanlışlıkla ayarladım . Bu sorunu düzeltmeme rağmen, Safari yönlendirmeyi ezberledi ve unutmayı reddediyor, bunun yerine beni sürekli geçersiz adrese yönlendirmeye çalışıyor .httpshttpshttps

Safari'yi zaten kapattım, temizledim ~/Library/Caches/com.apple.Safari/, ~/Library/Cookies/HSTS.plistancak yeniden açtığımda yönlendirmeyi hatırlıyor gibi görünüyor.

Safari bu bilgiyi başka nerede saklıyor olabilir? Doğru sayfaya Firefox veya Chrome üzerinden erişebiliyorum, bu nedenle sistem genelinde bir hizmet olmayabilir veya diğer tarayıcıların kullandığı bir hizmet değilse.

Ne yazık ki web paneli bir cihaz tarafından sağlandığı için, başlıkları ayarlayabileceğime veya diğer benzer sorularda sunulan seçeneklerin göründüğü gibi doğru URL’ye yeniden yönlendirme ayarlayabileceğime inanmıyorum. Veriler depolanıyor, böylece ateşle imha edebiliyorum.



~/Library/SafariKlasörünüzü çöpe atmayı / kenara çıkarmayı ve sorunu çözüp çözmediğini gördünüz mü ? Varsa, suçlu dosyasını bulana kadar klasörün içindeki öğeleri deneyebilirsiniz.
ilginç bir şekilde

Yönlendirmeyi nasıl ayarladınız? Bir uzantı ile veya bunun için Safari'de bir ayar var mı?
owlswipe

Yönlendirme hala özel bir gözatma penceresiyle gerçekleşiyor mu?
AllInOne

@ AllAne ilginç bir fikir, ama ne yazık ki hala özel tarama altında olur.
Haravikk

Yanıtlar:


29

Quanta'nın cevabına dayanarak :

Ben kullanım mümkün değildi launchctl unload /System/Library/LaunchAgents/com.apple.nsurlstoraged.plistben çünkü Sistem Bütünlüğü Koruma etkin:

$ 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

Ancak, aşağıdakileri yaparak bu konuda çalışabildim:

  • killall nsurlstoraged(Kullanıcınızın kurum işlemlerini durdurur; aslında koştum sudo killall nsurlstoraged, ancak önbellek kullanıcı Kitaplığı klasöründe olduğu için sistemin kurum işlemlerini durdurmanın gerekli olmadığından şüpheleniyorum)
  • rm -f ~/Library/Cookies/HSTS.plist (HSTS önbelleğini siler)
  • launchctl start /System/Library/LaunchAgents/com.apple.nsurlstoraged.plist (yeniden başlatıldı nsurlstoraged)

Bu cevabı yeterince oylayamıyorum. En azından Sierra'da, HSTS.plistdosyayı kaldırmanın sorunu çözmeyeceği anlaşılıyor çünkü yeniden oluşturulmaya devam edecek. Ancak, HSTS dosyasını öldürdükten nsurlstoragedve sonra çıkardıktan sonra - işin cevabı!
nvahalik

1
Çok teşekkürler, oy verildi, ama ben böyle yaptım. 1. Safari'yi kapatın. 2. ~/Library/Cookies/HSTS.plistİstediğim siteye ait girişi düzenleyin ve kaldırın. Http 3. Bilgisayarı yeniden başlatın
Jason S

Evet, yeniden başlatma, diğer tüm cevapların size verebileceği bir öneri, ancak 20 uygulama açıkken, process ls ur ur process process process process process process process process process process process process process ur ur ur convenient convenient convenient convenient convenient @ Nvahalik!
axello

2
Mojave güncelleme: komut rm -f ~/Library/Cookies/HSTS.plistdönecektir Operation not permittedsize verilen sürece Tam disk erişimi Sistem Tercihleri'nde Terminal.app için => Güvenlik ve Gizlilik => Gizlilik. Aksi takdirde, çözüm mükemmel çalıştı! Teşekkürler!
joehanna

@ nvahalik Olanlar, yeniden oluşturulmakta olan dosyadan daha garip görünüyor; rm ~/Library/Cookies/HSTS.plist ; touch ~/Library/Cookies/HSTS.plist ; chmod guo-wrx ~/Library/Cookies/HSTS.plistbana bile yardım killall nsurlstoragedetmedi , ama yaptı.
Flash Sheridan

6

Safari tercihlerinde Geliştirme menüsünü etkinleştirirseniz, önbelleği buradan temizleyebilirsiniz (CMD + ALT + E).

Aygıtın kontrol panelini Safari'nin Özel penceresinde (veya farklı bir web tarayıcısında) açmanın doğru çalıştığını onaylayabilir misiniz?


Maalesef, geliştirme menüsü seçeneği yönlendirmeyi temizlemiyor gibi görünmüyor, Safari'yi kapatmayı ve manuel olarak silmeyi de ~/Library/Caches/com.apple.Safaribu yüzden yönlendirmenin başka bir yerde saklanması gerekiyor. HSTS, yanlışlıkla etkinleştirdiğim ancak daha önce sildim ~/Library/Cookies/HSTS.plist.
Haravikk

1
Ayrıca bu cevabın sorunu
çözmediğini

Bu benim için çalıştı
Matthew Cawley

5

@ Haravikk'in cevabına göre: /apple//a/267783/62907

~ / Library / Cookies / HSTS.plist dosyasından hangi işlemin sorumlu olduğu hakkında fikri olan var mı?

fs_usage yardımcı olabilir:

❯❯❯❯ 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

Yani yapabiliriz:

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

sonra:

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

ve yeniden dene.


Teşekkürler! Bu benim için çalıştı. HSTS.plist'i birçok kez sildim (önce ve sonra Safari'yi kapattım / yeniden başlattım) ve her zaman eskisi gibi içeriklerle yeniden yaratılıyordu. Önce nsurlstoraged boşaltılır, sonra plist silinir ve nsurlstoraged tekrar başlatılırsa temiz bir yumruk verir.
lucianf

2
Safari’nin çalışması için bırakmanız ve yeniden başlatmanız gerektiğinden bahsederek bunu iyileştirebilirsiniz. Ayrıca HSTS.plist silmek yerine sadece sorun alan anahtarını sildim.
Malhal,

3

Yeniden curlyönlendirme yapmadığından emin olmak için cihaza komut satırını kullanırsanız iyi sonuçlar elde edersiniz . Safari, adresleri yeniden yazmak için gerçekten bir motora sahip değil - özellikle herhangi bir geçmişi, çerezleri vb. Kaldırmak için özel göz atmaya gidiyorsanız ...

Safarinizi yeterince temizlediğinizden emin değilseniz, sistem tercihlerini açarak ve Mac'te temiz / yeni bir kullanıcı hesabı açarak test edebilir ve siteyi normal kullanıcı oturumunuzu kapattıktan sonra tamamen temiz bir Safari sürümü ile test edebilirsiniz. .


Kesinlikle hiçbir yönlendirme yok (bağlanmaya çalıştığım özellik HTTPS'yi hiç desteklemiyor, bu nedenle HSTS'yi tüm aygıt için etkinleştirmek çok korkunç bir hataydı); Diğer kullanıcı hesaplarından ve tarayıcılardan gayet iyi bir şekilde bağlantı kurabiliyorum, bu yüzden ana hesabımda bir yerde bunu önbelleğe alan bir şey var :(
Haravikk

“Safari adreslerini yeniden yazmak için gerçekten bir motora sahip değil” - Şu anda Safari'de dizüstü bilgisayarımda barındırılan bir web sitesiyle aynı sorunu yaşadım ve kıvrıldım (Firefox, Chrome ve orada bir Özel Tarama penceresi var) Safari) aynı kullanıcı hesabına siteyi gayet iyi yükler. Bu yüzden Safari'nin kendisiyle ilgili bir şey olmalı .
Paul D. Waite

3

Bu nedenle, sorunun asıl sorununun çözümünü bulmama rağmen, asıl sorunun cevabı kesin değil, bu yüzden daha fazla bilgi bulana kadar böyle işaretlemeyeceğim.

Dosyanın ~/Library/Cookies/HSTS.plistgerçekten de şüphelendiğim gibi sorunun kaynağı olduğu ortaya çıktı , ancak etkilenen kullanıcı hesabından silmek, Safari kapalıyken bile, bilinmeyen bir süre sonra yeniden oluşturulduğundan, suçlu ile tamamlandığı için çalışmıyor geçersiz yönlendirmeyi zorlayan girdi.

Yani benim çözümüm şuydu:

  1. Mac'inizde en az bir başka kullanıcı hesabınız olduğundan emin olun (değilse bir tane oluşturun).
  2. Etkilenen kullanıcı hesabının oturumu kapatın.
  3. Farklı bir kullanıcı hesabına giriş yapın (kısıtlamalara bağlı olarak bir misafir hesabı yeterli olmayabilir).
  4. Etkilenen kullanıcı hesabınızın kısa adını bulun; Bilmiyorsanız, kontrol etmenin en iyi yolu Sistem Tercihleri ​​-> Kullanıcılar bölümüne bakmaktır. Genellikle tam ad, alt kasalı ve boşluksuz olacaksa, tam adınız "John Smith" ise, kısa ad "johnsmith" olabilir.
  5. Terminal'de bir pencere açın su shortname, etkilenen kullanıcı hesabının kısa adıyla "shortname" yazarak yazın . Enter tuşuna basın ve istendiğinde, etkilenen hesabın şifresini girin.
  6. Şimdi bir sonraki komutu yazın rm ~/Library/Cookies/HSTS.plistve enter tuşuna basın, bu HSTS saklama dosyasını siler.
  7. Sonunda exitenter tuşuna basın ve Terminal'i kapatın.

Bu noktada, şimdi etkilenen kullanıcı hesabına tekrar giriş yapabilirsiniz ve rahatsız edici HSTS yönlendirmesi iyi yapılmalıdır.

Şimdi, bu kullanılabilir bir geçici çözüm sunarken, HSTS.plist dosyasını etkilenen hesabımdan silmenin neden işe yaramadığını bilmek istiyorum; yeniden yaratılmış olması, bazı arka plan işlemlerinden sorumlu olduğu anlamına gelir; bu, dosyayı yalnızca bu işlemi durdurarak, dosyayı silerek ve işlemi yeniden başlatarak, etkilenen kullanıcı hesabından silmek mümkün olması gerektiği anlamına gelir.

~/Library/Cookies/HSTS.plistDosyadan hangi işlemin sorumlu olduğu hakkında fikri olan var mı? Bir kez sorun daha basit bir düzeltme vermek mümkün olması gerektiğini biliyoruz.


2

İşte bir fikir!

Https isteklerini http'e geri yönlendirmek için sunucuyu ayarlayarak yönlendirmeyi geri alamayacağınızı söylersiniz (bunu yapmak için yönetici erişiminiz olmadığı için).

Peki ya safari'yi bu ters yönlendirmeyi sunan farklı bir sunucuya bağlanmaya kandırıyorsanız ?

Bunu yerel makinenizin /etc/hostsdosyasında ayarlayabilirsiniz .

Örneğin, geçerli önbelleğe alınmış yönlendirmenin ile arasında http://example.comolduğunu varsayalım https://example.com.

Şimdi, https'den http'ye yönlendiren dünyadaki herhangi bir sunucuda talep edebileceğiniz bir url'yi ayarlayın veya tanımlayın. Diyelim ki bu sunucunun adresi var https://redirecting.example.com.

Sonra IP adresini arayın redirecting.example.com. Terminal'de şöyle yapabilirsiniz:

host redirecting.example.com

Bunun gibi bir sonuç elde edersiniz:

redirecting.example.com has address 69.69.69.69

Şimdi / etc / hosts dosyanızı açın ve redirecting.example.com adresinin ip adresinde example.com için istekleri gösteren yeni bir satır ekleyin.

### point host example.com at the ip address of redirecting.example.com
69.69.69.69 example.com

Değişikliklerinizi kaydedin ve DNS önbelleğinizi terminalde şöyle yapın:

sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder; say DNS cache flushed

Ardından, Safari'de https://example.comyanıt için bir istek gönderin http://example.com, geri yönlendirmek gerekir , hangi noktada (parmak çarpı işareti) Safari yönlendirmenizin 6 ay öncesinin üzerine yazılır.

Bittiğinde / etc / hosts dosyasına eklediğiniz satırı kaldırın ve DNS önbelleğinizi yeniden temizleyin.


Güzel bir fikir olsa da, asıl sorunu çözmez; Geçici çözümler aramıyorum, ancak bu yönlendirmenin nerede önbelleğe alındığını bilmek istiyorum; bunun yerine Safari artık geçerli olmasa bile kullanmaya devam ediyor (sunucunun HSTS özelliği etkin değil, kısaca yanlışlıkla etkinleştirdim ). Bir yere depolanmış olmalı , ama nerede olduğunu çözemiyorum.
Haravikk

Asıl sorunu çözeceğini umduğum için geçici çözüm dediğim şey bu değil . Yalnızca, cihaz üzerinde kontrol sahibi olmadığınız gerçeği etrafında çalışır. Ama seni duyuyorum - önbelleğe alınmış ayarı doğrudan silebilmek güzel olurdu. Safari Teknoloji Önizlemesi de kötü davranış sergiliyor mu?
AllInOne

Maalesef öyle; Safari'nin kendisiyle ilgili bir sorun olduğunu sanmıyorum, fakat bunun yerine ~/Library/Cookies/HSTS.plist, suçlu olduğu anlaşılıyor, ancak etkilenen hesaptan silmek işe yaramadı (yeniden yaratıldığı gibi) bir süre sonra, kötü yönlendirme ile tamamlayın). Hangi işlemin olsa yapıldığından emin değil.
Haravikk

2

Tüm bu çözümleri denedikten sonra, benim için işe yarayan şey şuydu:

  • Alanın tüm örneklerini Safari geçmişinden kaldır
  • Safari'den çık
  • Sil ~/Library/Cookies/HSTS.plist
  • Tekrar başlat

2

Yeni macOS Mojave 10.14 Beta için iki sentim (18A365a)

a) Kesin olarak duramazsınıznsurlstoraged , sudo olsa bile 2 saniye içinde tekrar başlar

b) "HSTS.plist" dosyasını silemezsiniz : eğer yazarsanız:

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

aldınız: İşleme izin verilmiyor

c) Deneseniz bile:

ls -la ~/Library/Cookies/

aldınız: İşleme izin verilmiyor

aynı

nano ~/Library/Cookies/HSTS.plist 

(boş dosya..)

Eğer Yani olamaz kesinlikle erişmek bunu. (belki SIP?)

d) Bulucu'dan garip bir şekilde silebilirsiniz :

CMD Shift G "~ / Library / Çerezler /"

görüntü tanımını buraya girin

ve fare ile silebilirsiniz:

görüntü tanımını buraya girin

e) daha garip: Mouse kullanarak masaüstüne gidebilir, düzenleyebilir ve geri yerleştirebilirsiniz !

(Gerçek bir saçmalık, GUI sudodan daha güçlü ..)


2

Safari, Firefox ve Chrome'da da yapmanız gereken tek şey geliştirici kenar çubuğunu açmak , ağ sekmesini seçmek ve önbelleğe almayı devre dışı bırakmaktır .

Üzerinde çarpı işareti olan bir tüp olan Safari'de, çöp kutusu logosunun yanındaki mavi renk. Bunu etkinleştirin ve eski kalıcı yönlendirme ihmal edilmelidir. Safari 503 kalıcı yönlendirmeleri chaching chaching

En büyük avantaj, dosyalarla uğraşmak zorunda olmamanız, tüm HTST girişlerini silmeniz ve güvenlik avantajlarını kaybetmemenizdir. Ayrıca tarayıcılarda çalışır.


Bunu bilmek çok faydalı olsa da, bunun kalıcı bir çözüm olarak çalışıp çalışmadığını onaylayabilir misiniz? Örneğin, önbellek yeniden etkinleştirilmişse, sorun yeniden yüzeye mi çıkacak ya da geçici olarak devre dışı bırakmak onu temizleyecek mi?
Haravikk

1
Testlerimde @Haravikk, bunun yerine yeni bir sayfa yüklendiğinde kalıcı yönlendirmeyi kullanmaya geri dönmeyecekti. Geliştirme penceresini kapattıktan sonra bile, eğer sorunuza cevap
veriyorsa

1

İlk yapmak Sunucunun edilir değil gönderme Sıkı-Ulaşım-Güvenlik başlığını
Sen ile yapabilirsiniz curl -I( -Isadece başlıklarını alır)

curl -I http://my-http-domain.com

Sunucu, Strict-Transport-Security başlığını gönderiyorsa, onu tarayıcınızdan kaldırmanın bir etkisi olmaz, siteye bir sonraki girişinizde tekrar kurulur.

Sitenizi Safari'nin Http Secure Transport Security veritabanından kaldırın

  1. Safari'yi kapat
  2. Düzenleme ~/Library/Cookies/HSTS.plist
    http üzerinden erişmek istediğiniz siteye ait girişi arayın ve kaldırın ve dosyayı kaydedin.
    • Geçerli girdileri kaldırmaya gerek olmadığı için kaldırmak yerine düzenlemeyi tercih ederim.
    • Plist dosyalarını Xcode kullanarak düzenlerim, ancak yüklenmemişse, sadece bir metin düzenleyici kullanabilirsiniz.
  3. Bilgisayarı yeniden başlatın.
    • Bilgisayarınızı yeniden başlatmak yerine, yeniden başlatabilirsiniz, nsurlstoragedancak SIP nedeniyle söz konusu olabilir, bu nedenle bilgisayarın yeniden başlatılması daha kolay olabilir. Grant'in cevabını ve Quanta'nın yeniden başlatma hakkındaki cevabını görünnsurlstoraged

1

Grand Heaslip'in cevabından bir senaryo yazdım:

#!/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

Nazikçe safariyi sonlandırır, nsurlstoraged'i durdurur, HSTS.plist'i kaldırır ve tekrar nsurlstoraged başlar. Bu benim için macOS 10.13.5 burada çalıştı


1

Mojave (10.14) kullanıyorum. HSTS.plist kaldırmak için şimdiye kadar verilen yöntemleri denedim. Ek olarak, ~ / Library / Cookies / 'in içeriğini listelerken "Çalışmaya izin verilmiyor" belirtisini gidermek için Sistem Tercihleri> Güvenlik ve Gizlilik> Tam Disk Erişimi listesine Terminal eklemem gerekiyordu.

Ancak, dosyayı kaldırmak ve arka plan programı yeniden başlatmak işe yaramadı. Böylece Safari'yi tekrar açmayı denedim, Tercihler, Gizlilik ve Web Sitesi Verilerini Yönet seçeneğine gittim. Sonra rahatsız edici etki alanı adı için tüm "önbellek çerezleri, yerel depolama" kaldı. Bu benim sorunumu çözdü.

HSTS'nin kaldırılması gerekip gerekmediğini şimdi söyleyemem.


Aynısını denedim ve iki kez yeniden başlattım, ancak yalnızca Safari'nin kullanıcı arayüzünü kullanmak da benim için çalıştı. Teşekkür ederim!
Bart Verkoeijen

-1

Bunu deneyin, ardından Adım 1: ~ / Kitaplık klasörüne gidin, Adım 2: ~ / Kitaplık / Uygulama Desteği'nden Safari klasörünü silin, Adım 3: ~ / Kitaplık / Önbellekleri altındaki klasörleri silin, 4. Adım: daha sonra Sil ~ / Library / Safari klasörü PS: Yukarıdaki işlemler sırasında safariyi kapalı tutun


1
Ask Üzerine Cevaplar Farklı bir bağlantıdan daha fazlası olmalı. Bir bağlantı eklemek tamam, ama lütfen cevabınızdaki yazıyı özetleyin veya alıntı yapın. Fikir cevabı tek başına yapmaktır.
yokuş yukarı
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.