1

Я попытался добавить следующую строку в мой файл hosts в Windows 7:

127.0.0.1 nytimes.com

Файл hosts находится в:

C:\Windows\System32\drivers\etc\

Идея состоит в том, чтобы заблокировать доступ к веб-сайту New York Times (и другим).

Даже после перезапуска машины это не блокирует доступ к сайту. Почему бы и нет?

5 ответов5

6

Сайт www.nytimes.com , это другое имя хоста.

3

Если браузер настроен на использование прокси, то, скорее всего, не имеет значения, что находится в файлах HOSTS.

3

(Обычно перезапуск не требуется, чтобы изменения в локальном файле HOSTS вступили в силу.)

Ваша техника блокировки может работать лучше, если вы включите оба имени хоста (и вы можете разместить более одного в одной строке или сделать несколько записей для одного и того же IP-адреса в нескольких строках), один с "www." префикс и один без (так же, как я показываю здесь, за исключением того, что вместо этого я использую "example.com"):

127.0.0.1 example.com www.example.com

Причина, по которой блокировка работает не так, как вы ожидали, заключается в том, что файл HOSTS очень буквален в том, как он обрабатывает вещи, и вы, вероятно, используете «www». изменение префикса имени хоста, которое я также предполагаю, что вы не определили [поскольку в вашем примере показано только одно имя хоста без "www." префикс].

Если бы вместо этого вы использовали DNS-сервер, вы можете настроить зону для «example.com», и «www.example.com» будет включен автоматически (это связано с иерархической природой DNS). Файл HOSTS, с другой стороны, позволит вам переопределять IP-адреса только для тех имен хостов, которые вы укажете в нем.

При преобразовании имени хоста в IP-адрес ваш компьютер обычно сначала обращается к локальному файлу HOSTS, затем к любому локальному кешу, а затем запрашивает DNS. Это сделано для сохранения пропускной способности, и это очень эффективно.

Для нескольких компьютеров локальный файл HOSTS может быть легко управляемым, но для большого количества компьютеров обычно проще настроить DNS-сервер (с добавлением зон, которые вы хотите заблокировать, чтобы ничего не разрешать, или 127.0.0.1 или даже сервер интрасети) и настройте все компьютеры для его использования.

1

Я бы порекомендовал использовать для этого плагин браузера, такой как AdBlock Plus. Это более чистое решение, т.е. с большей вероятностью, потому что AdBlock предназначен для блокировки элементов и URL-адресов на страницах, а файл hosts не предназначен для такого использования. Adblock Plus доступен как для Firefox, так и для Chrome, что также очень рекомендуется по соображениям безопасности.

-2

Должен быть не пробел, а табуляция между IP и именем хоста:

127.0.0.1->example.com

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .