Блокировка сайтов в Windows с помощью файла hosts
Самый известный способ заблокировать определенный сайт в Windows – отредактировать файл hosts. Обычно файл находится в каталоге %windir%\system32\drivers\etc\. Обратите внимание, что у файла hosts нет расширения.
Путь к каталогу с файлом hosts задается в параметре DataBasePath в ветке реестра HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters. По-умолчанию это %windir%\system32\drivers\etc\.
Чтобы заблокировать определенный сайт (например, ok.ru), откройте на редактирование файл hosts (с правами администратора) и добавьте в него строки вида:
127.0.0.1 ok.ru
127.0.0.1 vk.com
Сохраните файл и перезагрузите компьютер (или очистите DNS кэш командой: ipconfig /flushdns)
После этого при попытке открыть сайт ok.ru в любом браузере будет появляется сообщение “Страница не найдена” / “Страница не доступна”.
Вы можете добавлять новые строки с URL сайтов в файл hosts с помощью такого bat файла:
@echo off set hostspath=%windir%\System32\drivers\etc\hosts echo 127.0.0.1 www.facebook.com >> %hostspath% echo 127.0.0.1 facebook.com >> %hostspath% exit
Либо можно воспользоваться следующими PowerShell функциями для автоматизации блокировки (разблокировки) определенных сайтов в списке запрещенных доменов в файле hosts.
Function BlockSiteHosts ( [Parameter(Mandatory=$true)]$Url) { $hosts = 'C:\Windows\System32\drivers\etc\hosts' $is_blocked = Get-Content -Path $hosts | Select-String -Pattern ([regex]::Escape($Url)) If(-not $is_blocked) { $hoststr="127.0.0.1 ” + $Url Add-Content -Path $hosts -Value $hoststr } } Function UnBlockSiteHosts ( [Parameter(Mandatory=$true)]$Url) { $hosts = 'C:\Windows\System32\drivers\etc\hosts' $is_blocked = Get-Content -Path $hosts | Select-String -Pattern ([regex]::Escape($Url)) If($is_blocked) { $newhosts = Get-Content -Path $hosts | Where-Object { $_ -notmatch ([regex]::Escape($Url)) } Set-Content -Path $hosts -Value $newhosts } }
Теперь чтобы добавить определенный сайт в заблокированные достаточно выполнить функцию:
BlockSiteHosts ("vk.com")
Чтобы разблокировать сайт запустите:
UnBlockSiteHosts ("vk.com")
Источник winitpro.ru