Saya memiliki perangkat dengan panel kontrol berbasis web, dan secara tidak sengaja mengaturnya untuk mengarahkan ulang semua http
halaman https
, walaupun beberapa tidak berfungsi https
. Meskipun saya sudah mengoreksi ini, Safari tampaknya telah menghafal pengalihan dan menolak untuk melupakannya, bukannya terus-menerus berusaha mengarahkan saya ke https
alamat yang tidak valid .
Saya sudah menutup Safari, telah dihapus ~/Library/Caches/com.apple.Safari/
dan ~/Library/Cookies/HSTS.plist
tetapi sepertinya masih mengingat pengalihan ketika saya membukanya kembali.
Di mana lagi Safari dapat menyimpan informasi ini? Saya dapat mengakses halaman yang benar melalui Firefox atau Chrome, jadi itu mungkin bukan layanan seluruh sistem, atau jika bukan salah satu yang digunakan browser lain.
Sayangnya karena panel-web disediakan oleh perangkat, saya tidak percaya saya dapat menyesuaikan tajuk atau mengatur pengalihan kembali ke URL yang benar, yang tampaknya merupakan opsi yang ditawarkan dalam pertanyaan serupa lainnya, jadi saya benar-benar perlu mencari tahu di mana ini data sedang disimpan sehingga saya bisa menghancurkannya dengan api.
~/Library/Safari
folder Anda dan melihat apakah itu memperbaiki masalah? Jika ya, Anda dapat bereksperimen dengan item di dalam folder sampai Anda menemukan file pelakunya.Jawaban:
Berdasarkan jawaban kuanta :
Saya tidak dapat menggunakan
launchctl unload /System/Library/LaunchAgents/com.apple.nsurlstoraged.plist
karena saya mengaktifkan Perlindungan Integritas Sistem :Namun saya dapat mengatasinya dengan melakukan hal berikut:
killall nsurlstoraged
(Hentikan proses nsurlstoraged pengguna Anda; Saya benar-benar berlarisudo killall nsurlstoraged
, tapi saya kira tidak perlu menghentikan nsurlstoraged sistem juga, karena cache ada di folder Library pengguna)rm -f ~/Library/Cookies/HSTS.plist
(menghapus cache HSTS)launchctl start /System/Library/LaunchAgents/com.apple.nsurlstoraged.plist
(restart nsurlstoraged)sumber
HSTS.plist
file tidak akan memperbaiki masalah karena akan terus dibangun kembali. Namun, setelah membunuhnsurlstoraged
dan kemudian menghapus file HSTS — itu berhasil!~/Library/Cookies/HSTS.plist
dan hapus entri untuk situs yang saya inginkan di http 3. Restart komputerrm -f ~/Library/Cookies/HSTS.plist
akan kembaliOperation not permitted
kecuali Anda telah memberikan Akses Disk Penuh ke Terminal.app di System Preferences => Keamanan & Privasi => Privasi. Kalau tidak, solusinya bekerja dengan sempurna! Terima kasih!rm ~/Library/Cookies/HSTS.plist ; touch ~/Library/Cookies/HSTS.plist ; chmod guo-wrx ~/Library/Cookies/HSTS.plist
membantu saya, tetapikillall nsurlstoraged
tidak.Jika Anda mengaktifkan menu Develop di preferensi Safari, Anda dapat menghapus cache dari sana (CMD + ALT + E).
Bisakah Anda mengonfirmasi bahwa membuka panel kontrol perangkat di jendela Private Safari (atau browser web lain) berfungsi dengan benar?
sumber
~/Library/Caches/com.apple.Safari
sehingga pengalihan harus disimpan di tempat lain. HSTS adalah fitur yang secara tidak sengaja saya aktifkan tetapi saya sudah menghapusnya~/Library/Cookies/HSTS.plist
.Berdasarkan jawaban @ Haravikk: /apple//a/267783/62907
fs_usage dapat membantu:
Jadi kita bisa:
kemudian:
dan coba lagi.
sumber
Anda akan mendapatkan hasil yang baik jika Anda menggunakan baris perintah ke
curl
perangkat untuk memastikan itu tidak melakukan pengalihan. Safari tidak benar-benar memiliki mesin untuk menulis ulang alamat - terutama jika Anda masuk ke penjelajahan pribadi untuk menghapus riwayat, cookie, dll ...Jika Anda tidak yakin telah cukup membersihkan safari, Anda juga dapat menguji dengan membuka preferensi sistem dan membuat akun pengguna yang bersih / baru di Mac dan menguji situs pada versi Safari yang benar-benar bersih setelah keluar dari pengguna normal Anda. .
sumber
Jadi saya telah menemukan solusi untuk masalah ini, meskipun ini bukan jawaban yang pasti untuk pertanyaan yang sebenarnya jadi saya tidak akan menandainya seperti itu sampai saya dapat menemukan lebih banyak informasi.
Ternyata file
~/Library/Cookies/HSTS.plist
itu memang sumber masalah seperti yang saya duga, namun menghapusnya dari akun pengguna yang terpengaruh tidak berfungsi, bahkan dengan Safari ditutup, karena dibuat kembali setelah waktu yang tidak diketahui, lengkap dengan pelanggarannya. entri yang memaksa pengalihan tidak valid.Jadi solusi saya adalah sebagai berikut:
su shortname
ganti "shortname" dengan nama pendek dari akun pengguna yang terpengaruh. Tekan enter dan, saat diminta, masukkan kata sandi untuk akun yang terpengaruh.rm ~/Library/Cookies/HSTS.plist
dan tekan enter, ini akan menghapus file penyimpanan HSTS.exit
, tekan enter dan tutup Terminal.Pada titik ini Anda sekarang dapat masuk kembali ke akun pengguna yang terkena dampak dan pengalihan HSTS yang menyinggung harus hilang untuk selamanya.
Sekarang, sementara ini memberikan solusi yang dapat digunakan, saya benar-benar ingin tahu mengapa menghapus file HSTS.plist dari akun saya yang terpengaruh tidak berfungsi; fakta itu diciptakan kembali berarti beberapa proses latar belakang bertanggung jawab untuk itu, yang berarti harus mungkin untuk menghapus file dari akun pengguna yang terpengaruh dengan hanya menghentikan proses itu, menghapus file, kemudian meluncurkan kembali proses.
Adakah yang punya ide proses yang bertanggung jawab atas
~/Library/Cookies/HSTS.plist
file? Setelah kita tahu bahwa itu seharusnya mungkin untuk memberikan perbaikan yang lebih sederhana untuk masalah tersebut.sumber
Ini sebuah ide!
Anda mengatakan Anda tidak dapat membatalkan pengalihan dengan mengatur server untuk mengarahkan kembali https permintaan kembali ke http (karena Anda tidak memiliki akses admin untuk melakukannya).
Tetapi bagaimana jika Anda menipu safari agar terhubung ke server lain yang menawarkan pengalihan terbalik ini?
Anda dapat mengatur ini di
/etc/hosts
file mesin lokal Anda .Misalnya katakanlah pengalihan cache saat ini dari
http://example.com
kehttps://example.com
.Sekarang siapkan atau identifikasi url yang dapat Anda minta di server mana pun di dunia yang mengalihkan dari https kembali ke http. Katakanlah server memiliki alamat
https://redirecting.example.com
.Kemudian cari alamat IP dari
redirecting.example.com
. Di Terminal Anda bisa melakukan ini:Anda mendapatkan hasil seperti ini:
Sekarang buka file / etc / hosts Anda dan tambahkan baris baru yang mengarahkan permintaan untuk example.com di alamat ip redirecting.example.com, seperti:
Simpan perubahan Anda dan hapus cache DNS Anda di terminal seperti:
Kemudian di Safari, buat permintaan agar
https://example.com
responsnya harus dialihkan kembalihttp://example.com
, pada titik mana (jari bersilang) pengalihan Safari Anda dari 6 bulan lalu akan ditimpa.Setelah selesai hapus baris yang Anda tambahkan ke file / etc / hosts dan siram kembali cache DNS Anda.
sumber
~/Library/Cookies/HSTS.plist
merupakan pelakunya, tetapi menghapusnya dari akun yang terpengaruh tidak berfungsi (karena dibuat kembali beberapa waktu kemudian, lengkap dengan redirect buruk). Tidak yakin proses apa yang melakukannya.Setelah mencoba semua solusi ini, yang berhasil bagi saya adalah:
~/Library/Cookies/HSTS.plist
sumber
Dua sen saya untuk macOS Mojave 10.14 Beta baru (18A365a)
a) Anda tidak dapat berhenti secara pasti
nsurlstoraged
, itu diluncurkan kembali dalam 2 detik, bahkan jika sudob) Anda tidak dapat menghapus "HSTS.plist": jika Anda mengetik:
Anda mendapatkan: Operasi tidak diizinkan
c) bahkan jika Anda mencoba:
Anda mendapatkan: Operasi tidak diizinkan
sama untuk
(file kosong ..)
Jadi, Anda tidak dapat dengan pasti mengaksesnya . (mungkin SIP?)
d) anehnya Anda dapat menghapus jika dari Finder:
CMD Shift G "~ / Perpustakaan / Cookie /"
dan Anda dapat menghapus dengan mouse:
e) lebih aneh: Anda dapat pindah ke Desktop menggunakan mouse, edit dan letakkan kembali !
(omong kosong nyata, GUI lebih kuat daripada sudo ..)
sumber
Di Safari, Firefox, dan Chrome juga, yang harus Anda lakukan adalah membuka bilah sisi pengembang , pilih tab jaringan, dan nonaktifkan cachin g.
Di Safari itu adalah tabung yang dicoret, yang biru di sebelah logo tempat sampah. Aktifkan itu, dan redirect permanen yang lama harus diabaikan.
Manfaat terbesar adalah Anda tidak perlu mengacaukan file, Anda tidak akan menghapus semua entri HTST dan kehilangan manfaat keamanan. Juga berfungsi di seluruh browser.
sumber
Pertama pastikan server tidak mengirim header Strict-Transport-Security
Anda dapat melakukan ini dengan
curl -I
(-I
hanya mendapatkan header)Jika server mengirim tajuk Strict-Transport-Security, menghapusnya dari browser Anda tidak akan berpengaruh, karena lain kali Anda mengakses situs, itu akan diatur lagi.
Hapus situs Anda dari basis data Http Secure Transport Security Safari
~/Library/Cookies/HSTS.plist
Cari entri untuk situs yang ingin Anda akses melalui http dan hapus, dan simpan file.
nsurlstoraged
tapi itu bisa terlibat karena SIP sehingga me-restart komputer mungkin lebih sederhana. Lihat jawaban Grant dan jawaban Quanta tentang memulai kembalinsurlstoraged
sumber
Saya membuat skrip dari jawaban Grand Heaslip:
Ini dengan anggun mengakhiri safari, berhenti nsurlstoraged, menghapus HSTS.plist, dan mulai nsurlstoraged lagi. Ini bekerja dengan baik untuk saya di sini di macOS 10.13.5
sumber
Saya menggunakan Mojave (10.14). Saya mencoba metode yang diberikan sejauh ini untuk menghapus HSTS.plist. Selain itu, saya perlu menambahkan Terminal ke System Preferences> Security & Privacy> daftar Full Disk Access untuk menyembuhkan gejala "Operasi tidak diizinkan" ketika daftar isi ~ / Library / Cookies /.
Tetapi, menghapus file dan memulai ulang daemon tidak berhasil. Jadi saya mencoba membuka Safari lagi, pergi ke Preferensi, Privasi, Kelola Data Situs Web. Lalu saya menghapus semua "cookie cache, penyimpanan lokal" untuk nama domain yang menyinggung. Itu memecahkan masalah saya.
Saya tidak bisa mengatakan sekarang apakah menghapus HSTS diperlukan atau tidak.
sumber
Coba ini, lanjutkan ke Langkah 1: Pergi ke ~ / Perpustakaan folder, Langkah 2: Hapus folder Safari dari ~ / Perpustakaan / Dukungan Aplikasi, Langkah 3: Hapus folder di bawah ini dari ~ / Perpustakaan / Tembolok, Langkah 4: lalu Hapus ~ / Perpustakaan / folder Safari PS: Tutup safari selama operasi di atas
sumber