Обмеження доступу до веб-сайтуsteemCreated with Sketch.

in Ukraine on Steemlast month

Моя літня вимушена відпустка триває, а в голову лізуть ідеї, реалізувати які не було би шансів у звичайні рутинні будні через більш пріоритетні заняття, такі як робота і “лягти спати вчасно”. Але зараз винні у всьому спека і вільний час.

На роботі у мене іноді виникала ситуація, коли я б не хотів, щоб певні співробітники відкривали на комп’ютері в лабораторії деякі сайти. Не вдаючись у подробиці, до ідеї обмеження доступу я дозрівав давно, одного разу навіть підійшов дуже близько, але в останній момент я відкладав це на потім, аргументуючи самому собі свій вчинок тим, що “я цим людям не начальник, ну їх до біса”. Тим не менш, саме зараз моя цікавість щодо реалізації цього питання подолала мене, і я вирішив розібратися на власному ПК, як це працює.

Рішення виявилося набагато простішим, ніж я міг собі уявити. Фактично, обмежити доступ користувача ПК до певних сайтів можна трьома способами. Перший спосіб: за допомогою запису у файлі hosts у Windows. Другий спосіб: за допомогою брандмауера Windows, і третій – за допомогою програм-блокувальників, на кшталт Cold Turkey і FocusMe. Можливо, заблокувати певні сайти можна також через антивірус у розділі “батьківський контроль”, але мені це не підходить через ризик викриття моїх дій :) Оскільки у більшості моїх співробітників найбільше технологічне досягнення – це бекап фотографій зі смартфона на ПК, то я виберу перший спосіб блокування.

Щоб заблокувати доступ до сайту, потрібно відкрити “Провідник” у Windows і потрапити в директорію C:\Windows\System32\drivers\etc, вибрати файл hosts.

Відкрийте “Блокнот” від імені адміністратора. Файл hosts перетягніть у вікно Блокнота. Зазвичай цей файл порожній, а якщо ні то в кінці додайте запис:

127.0.0.1    rutube.ru
127.0.0.1    www.rutube.ru

 
Не бачу сенсу пояснювати чому сервіс rutube найбільше підходить для прикладу блокування :)
Збережіть файл hosts. У мене виникла проблема із збереженням у системній директорії, довелося спершу зберегти файл hosts на Робочому столі, потім скопіювати у папку etc (див. вище повний шлях). Після збереження файлу перезапустіть ваш браузер.

Я експериментував з доменом youtube, результат мене задовольнив, сайт не відкрився. На скріншоті видно часткове завантаження сайту, це пов’язано з кешуванням стилів під час попередніх завантажень.

У двох словах про те, що відбувається під час блокування. Перед завантаженням будь-якого сайту система спершу дивиться у файл hosts, бачить наш запис 127.0.0.1 rutube.ru, який повідомляє, що сайт знаходиться за IP-адресою 127.0.0.1, а це локальна адреса нашого комп’ютера (localhost). Тобто запит на сайт іде не в інтернет, а на локальний комп’ютер, тому сайт не відкриється, у браузері видно помилку підключення.

Ось якось так це працює. Цей спосіб блокування можна обійти, тому більш надійним вважається спосіб за допомогою брандмауера Windows. Але якщо взяти до уваги користувачів, я не експериментував із більш надійним блокуванням. Захочете – пишіть, складу звіт з покроковою інструкцією :)