Dapatkah memperbarui file host di Windows melalui file batch menyebabkan kerusakan?

1

Saya memiliki skrip ini yang telah saya simpan sebagai a .bat mengajukan. Bisakah itu melukai komputer?

echo # >> %Windir%\System32\drivers\etc\hosts
echo 0.0.0.0    www.facebook.com >> %Windir%\System32\drivers\etc\hosts

Saya hanya ingin tahu apakah ini dapat memiliki efek samping pada komputer sama sekali seperti korupsi sesuatu? Saya pikir itu tidak mungkin. Yang dilakukannya hanyalah membuat Facebook menunjukkan kesalahan DNS dengan mengubah file host.

Megaeverything
sumber
Jika Anda ingin menyingkirkan Facebook, ada alternatif yang lebih baik (addins / ekstensi) untuk berbagai browser. Ini akan berhasil, tetapi facebook.com memiliki begitu banyak subdomain yang hampir tidak ada gunanya. Juga proxy (Privoxy dll) dapat memfilter situs web dan karenanya akan menghapus tautan apa pun ke facebook, misalnya. Lagi pula, tanpa pencocokan fuzzy ini tidak masuk akal dan hosts File tidak memungkinkan untuk itu.
0xC0000022L
1
Ini harus dijalankan sebagai administrator untuk bekerja, jika Anda tidak tahu. Juga, mereka bisa menggunakan facebook.com, alamat ip, facebook.us, dll ... Saya akan merekomendasikan metode lain.
cutrightjm

Jawaban:

1

Biasanya saya pernah melihat orang menggunakan localhost bukannya 0.0.0.0. Saya tidak tahu alasannya; tapi itu seharusnya bukan masalah besar.

Selain itu; skrip ini benar-benar oke. Perhatikan bahwa Anda tidak akan dapat menggunakan Facebook setelah menjalankan skrip ini, tetapi saya pikir itulah yang ingin Anda capai.

danielcg
sumber
2
Perbedaan antara 0.0.0.0 dan localhost adalah bahwa yang pertama bukan alamat IP yang valid, dan yang kedua adalah alamat IP dari PC lokal. Menggunakan localhost akan mengarahkan paket ke PC lokal daripada ke tempat lain. Jika, misalnya, Anda memiliki server web pada PC lokal maka itu akan melayani halaman daripada permintaan ke mana-mana. Keduanya valid. Tergantung pada apa yang Anda inginkan.
Wayne Johnston
0

Cukup aman. Jika Anda khawatir, satu-satunya hal yang perlu Anda lakukan adalah mencadangkan file% Windir% \ System32 \ drivers \ etc \ hosts Anda, dan kemudian kembalikan jika semuanya tidak berfungsi seperti yang diharapkan.

Anda mungkin juga ingin menambahkan baris

echo "127.0.0.1    localhost" >> %Windir%\System32\drivers\etc\hosts

Ke bagian bawah file sebagai baik untuk memiliki yang ditetapkan.

Mungkin saja jika ada file lain yang menyesuaikan file "host" Anda (mis. "Pemblokir iklan", skrip ini akan mengembalikan perubahan itu)

davidgo
sumber
0

Script berfungsi dengan baik selama baris terakhir dari file hosts telah dihentikan.

Jika baris terakhir adalah (tidak ada baris di akhir)

127.0.0.1    localhost

itu akan membaca

127.0.0.1    localhost#

setelah itu. Ini hanya bekerja sejak itu # adalah karakter komentar; setiap karakter lain akan merusak beberapa hal, tetapi "kerusakan" akan mudah dibalik.

Untuk menyisipkan linebreak di akhir file hosts, jalankan

echo.>> %Windir%\System32\drivers\etc\hosts

sebelum perintah lainnya.

Dennis
sumber
1
Terima kasih alasan saya memasukkan # di sana karena alasan yang tepat. beberapa file host tidak memiliki baris lain jadi saya menaruh # di sana untuk membuatnya memulai baris baru untuk memetakan ulang yang sebenarnya. karena file itu tidak menghitung # sebagai apa pun. begitu pula "." membuat baris baru di file?
Megaeverything
1
Iya nih, echo. (tidak ada ruang antara echo dan . ) mencetak baris baru.
Dennis
Saya memeriksa dan # tidak ada salahnya, tapi saya masih berpikir baris baru dalam pendekatan bersih.
Dennis
0

Tidak ada efek samping sama sekali. Itu hanya mengarahkan Facebook ke loopback lokal Anda 0.0.0.0. Cara sederhana dan efektif untuk membuat kesalahan dns facebook.

Zhengyang Liu
sumber