• Главная
  • Блог
  • Пользователи
  • Форум
  • Литературное творчество
  • Музыкальное творчество
  • Научно-техническое творчество
  • Художественно-прикладное творчество

Разработка программы для блокировки сайтов

Опубликовано Игнатенко Екатерина Сергеевна вкл 17.06.2023 - 7:57
Игнатенко Екатерина Сергеевна
Автор: 
Девитт Дарья Дмитриевна

Разработка программы для блокировки сайтов

Выполнили обучающиеся

Девитт Дарья Дмитриевна

группы 1ИС10

Руководитель

Игнатенко Екатерина Сергеевна

Проблемы информационной безопасности постоянно усугубляется процессами проникновения практически во все сферы деятельности общества технических средств обработки и передачи данных и прежде всего вычислительных систем. Об актуальности проблемы свидетельствует обширный перечень возможных способов компьютерных преступлений.

 

Скачать:

ВложениеРазмер
Файл razrabotka_programmy_dlya_blokirovki_saytov.docx32.98 КБ

Предварительный просмотр:

Разработка программы для блокировки сайтов

Выполнили обучающиеся

Девитт Дарья Дмитриевна

группы 1ИС10

Руководитель

Игнатенко Екатерина Сергеевна

Проблемы информационной безопасности постоянно усугубляется процессами проникновения практически во все сферы деятельности общества технических средств обработки и передачи данных и прежде всего вычислительных систем. Об актуальности проблемы свидетельствует обширный перечень возможных способов компьютерных преступлений.

Общеизвестно, что интернет - двигатель прогресса. И это действительно так - ведь именно благодаря сайтом находящихся в нем мы имеем возможность по щелчку пальцев узнавать о различных достижениях науки, техники и промышленности в области информатики, усовершенствования товаров, услуг для народного потребления и т.д. Однако сайты хороши только до тех пор, пока он не создает разного рода проблемы своим потребителям. И однажды наступает момент, когда перед интернет-пользователем встает вопрос: «Что делать с запрещенными и неугодными веб-сайтами». Вопрос о безопасности встает на первое место. Нам, как студентам-будущим программистам, особенно интересна эта тема, ведь кому если не нам предстоит в будущем защищать людей от опасной информации в интернете.

Проведение анкетирования

Для того, чтобы узнать о самых распространённых способов защиты компьютера, мы провели опрос, состоящий из нескольких вопросов:

  1. Сколько времени вы проводите за компьютером?
  2. Знакомы ли вы с правилами безопасного поведения в интернете?
  3. Каким образом вы защищаете свой компьютер?
  4. Как часто вы натыкаетесь на нежелательные сайты?
  5. Установлены ли в вашем учебном учреждении на компьютерах программы, ограничивающие доступ к каким-либо сайтам?
  6. Как ты реагируешь на получение спама, рекламных роликов, различных сообщений, содержащий неприятную информацию, оскорбления, запугивания и др.; приглашение на участие в лотереях, конкурсах, азартных играх?
  7.  Есть ли на вашем компьютере какие-либо программы, ограничивающие доступ к каким-либо сайтам?
  8. Как вы считаете нужен ли блокировщик нежелательных сайтов на предприятиях/учебных заведениях?
  9. Как думаете, будет ли программа для блокировки сайтов полезна для вас?
  10. Как вы считаете, полностью ли защищен ваш компьютер?

После обработки результатов, выяснилось, что:

  1. 46,2% пользователей проводит за компьютером более 3 часов, 30,8% пользователей менее часа и 23,1% пользователей проводит за компьютером 1-3 часа
  2. 92,3% пользователей знакомы с правилами безопасного поведения
  3. 60% пользователей не натыкаются на нежелательные сайты
  4. В 76,9% учебных заведений по утверждению пользователей установлены программы защитники ,15,4% пользователей не владеют такой информацией
  5. 46,2% пользователей не заинтересовано этой информацией, 52,9% сразу удаляют такие сообщения и 7,7% пользователей блокируют все возможные спам сообщения
  6. У 61,5% пользователей нет программы, для блокировки нежелательных сайтов
  7. Оказалось, что половина пользователей защищают свой компьютер с помощью антивируса, а вторая половина опирается на безопасность в интернете и не скачивает не проверенные программы.
  8. 69,2% пользователей считают, что блокировщик сайтов необходим на любом предприятии
  9. 69,2% пользователей уверены, что программа для блокировки сайтов будет полезна для них, 23,1% не уверены и 7% считают, что им это не нужно.
  10. 46,2% пользователей уверены, что их компьютер защищен хорошо и столько же процентов говорят, что их компьютер защищен недостаточно хорошо, 7,7% не уверены в своем ответе

На основе полученных данных, мы можем сделать вывод, что многие пользователи знакомы с правилами безопасности в интернете и даже пользуются антивирусными программами, но очень низкий процент пользователей пользуются блокировщиком сайтов, хотя считают эту программу очень полезной. Мы решили создать памятку о правилах поведения в интернете, после чего приступили к написанию кода, который поможет нам обезопасить компьютер.

Инструмент для разработки программы – блокировщика сайта

Для написания программы нами бала выбрана кроссплатформенная интегрированная среда разработки PyCharm.

PyCharm — это интегрированная среда разработки на языке Python, созданная компанией JetBrains. Среди питонистов эта IDE вторая по популярности после редактора кода Visual Studio Code: как основную её используют 31% разработчиков.

В PyCharm есть все инструменты, чтобы писать, отлаживать и тестировать код. Например, можно быстро исправить программу сразу в нескольких местах, а встроенный форматер приведёт её в соответствие со стандартом PEP 8.

Также IDE позволяет использовать в проектах другие языки программирования, синхронизировать код с системами контроля версий и развёртывать его.

Базовый набор функций PyCharm можно расширять с помощью плагинов, которые позволяют, например, настраивать внешний вид интерфейса и подключать дополнительные инструменты.

Системные требования PyCharm

  1. Операционная система:
  • Windows 8, 10 или 11 (64-битные версии);
  • macOS 10.14 или более поздняя версия;
  • Linux со средой GNOME, KDE или Unity DE; если дистрибутив не включает Glibc 2.14 или более позднюю версию (например, RHEL 6 или CentOS 6), то PyCharm может быть для него недоступен.
  1. Процессор: никаких специальных требований нет, но рекомендуется, чтобы он был многоядерным, так как PyCharm поддерживает многопоточность. Это позволит выполнять операции быстрее.
  2. Оперативная память: 4 ГБ свободной RAM. Рекомендуется, чтобы общая оперативная память у устройства была 8 ГБ.
  3. Место на диске: 2,5 ГБ и ещё 1 ГБ для кэша. Рекомендуется использовать SSD и иметь хотя бы 5 ГБ свободного пространства.
  4. Разрешение экрана: не менее 1024 × 768 пикселей, рекомендуется 1920 × 1080.

PyCharm существует в двух редакциях: Community и Professional. Community бесплатна, а Professional даёт обширный набор инструментов.

Community Edition будет достаточно для обучения программированию и небольших личных проектов, написанных на чистом Python.

Professional Edition подойдёт для крупных проектов, научной и веб-разработки. 

Листинг программы

Перед началом написания программы проверим на компьютере наличие прав администратора.

Права администратора – это самая важная часть для нас, так как нашей программе требуется доступ к файлам, которые требуют права администратора.

Далее создадим папку на основном диске (если дисков несколько лучше всего выбрать тот, на котором загружена ваша операционная система. В нашем случае ОС Windows загружена на диск С:, его и выбираем)

1. Для начала находим путь к файлу «hosts» на диске С (C:\Windows\System32\ drivers\etc\hosts и для Linux − etc/hosts)

2. Теперь открываем PyCharm и создаем новый проект. Прописывая путь для своей ОС.

import platform
path_to_hosts = ""
if platform.system() == "Windows":
   path_to_hosts = r'C:\Windows\System32\drivers\etc\hosts'
elif platform.system() == "Linux":
   path_to_hosts = "r'/etc/hots"

3. Прописываем на какой IP будет перенаправляться пользователь при попадании на определённые сайты. Даем пользователю самому выбрать сайт в для блокировки.

redirect = '127.0.0.1'
websites = []

4. Далее мы пишем код для самой блокировки. Сюда же добавили выбор действия и сайта для пользователя.

def block():
   while True:
       site = input("Введите сайт для блокировки:")
       if site == "exit":
           break
       websites.append(site)
       print(f'Ссылка {site} добавлена!')
       print('Если вы добавили все сайты, для выхода отправьте "exit"')

5. Теперь нужно расписать полную последовательность действий для взаимодействия с внутренними файлами компьютера.

with open(path_to_hosts, "r+") as file:
   content = file.read()
   for site in websites:
       if site in content:
           pass
       else:
           file.write(f'{redirect}'f'{site}\n')

6. Следующим шагом, можем добавить в нашу программу код для разблокировки сайтов. Сначала копируем код из пункта 4. Заменяем первую строчку на def unblock(): и расписываем последовательность действий для взаимодействия программы с внутренними файлами компьютера.

Важно! Если код для разблокировки не будет прописан в программе, сайт будет заблокирован до ручной разблокировки. Для того, чтобы разблокировать сайт в ручную, переходим по пути (для Windows − C:\Windows\System32\ drivers\etc\hosts и для Linux − etc/hosts), достаем файл hosts на рабочий стол, открываем его и удаляем последние строчки, где будут указаны ссылки сайтов. Сохраняем и переносим обратно в системную папку.

with open(path_to_hosts, "r+") as file:
   content = file.readline()
   file.seek(0)
   for line in content:
       if not any(site in line for site in websites):
           file.write(line)
       file.truncate()

7. Последним шагом даем пользователю выбор: заблокировать или разблокировать программу

while True:
   choosing_action = input('1 -Заблокировать сайт(ы) \n2 - Разблокировать сайт(ы)\n')
   if choosing_action == '1' or choosing_action == '2':
       break
   print("Выберите вариант ответа!")
if choosing_action == '1':
   block()
else:
   unblock()

Тестирование программы

  1. Запускаем командную строку от имени администратора
  2. В командной строке прописываем путь, по которому находится программа C:\Windows\system32>cd C:\Project_py
  3. В следующей строке, после нажатия enter, указываем имя файла с заданием «py» (иногда python) и название программы:

py "Website_blocker.py

  1. Далее выбираем действие
  1. Разблокировать сайт
  2. Заблокировать сайт
  1. Вставляем ссылку сайта, который хотим заблокировать
  2. Для выхода из программы пишем «exit»
  3. Перед проверкой программы перезапускаем браузер
  4. Аналогично можно разблокировать сайт, вставив в командную строку ссылку, идентичную той, которую мы использовали для блокировки.

Заключение

На сегодняшний день использование интернета и информационных систем является одной из самых проблемных и важных задач в области обеспечения безопасности.

Изучив теоретическую и практическую сторону вопроса о кибербезопасности, можно сказать, что с приходом Интернета мы принесли и новую беду 21 века. Люди сами того не сознавая вредят себе, совершая оплату покупок, различных услуг, но при этом даже не задумываются о безопасности.

Актуальность нашей работы подтвердилась, многие пользователи воспользовавшись, той информацией, которая представлена в нашей работе, смогут защитить свои компьютеры о угроз.

Цель проекта Python для блокировки веб-сайтов - запретить доступ к определенным веб-сайтам с любого устройства. Этот проект поможет пользователю избежать отвлекающих факторов, не позволяя им получать доступ к веб-страницам на своем смартфоне.

Результатом работы стала программа блокировoщик веб – сайтов, разработанная на языке программирования Python. Пользователь может ввести множество веб-сайтов для блокировки в этом проекте Python для блокировки веб-сайтов, а затем, выбрав вариант действия с сайтом, если веб-сайт уже был запрещен, браузер укажет, что соединение небезопасно, иначе веб – сайт будет работать как обычно.

Список использованной литературы

  1. Федоров, Д. Ю.  Программирование на языке высокого уровня Python : учебное пособие для среднего профессионального образования / Д. Ю. Федоров. — 3-е изд., перераб. и доп. — Москва : Издательство Юрайт, 2022. — 210 с. — (Профессиональное образование). — ISBN 978-5-534-12829-1. — Текст : электронный // Образовательная платформа Юрайт [сайт]. — URL: https://urait.ru/bcode/492921 (дата обращения: 05.01.2023)
  2. Чернышев, С. А. Основы программирования на Python : учебное пособие для среднего профессионального образования / С. А. Чернышев. — Москва : Издательство Юрайт, 2022. — 286 с. — (Профессиональное образование). — ISBN 978-5-534-15160-2. — Текст : электронный // Образовательная платформа Юрайт [сайт]. — URL: https://urait.ru/bcode/496897  (дата обращения: 07.01.2023)

Интернет - ресурсы:

  1. Norton Cybercrime Report. – URL: https://ru.norton.com/ – Текст: электронный
  2. PyCharm. Установка. – URL: https://www.jetbrains.com/pycharm/download/#section=windows – Текст: электронный (дата обращения: 09.12.2022)
  3. Python 3 для начинающих. Самоучитель. – URL: https://pythonworld.ru/samouchitel-python – Текст: электронный
  4. Telecommunication & information technologies - телекоммуникационные и информационные технологии. – URL:  http://book.itep.ru – Текст: электронный (дата обращения: 09.12.2022)
  5. Киберпреступность: понятие, основные черты, формы проявления. – URL: http://center-bereg.ru/h1529.html – Текст: электронный
  6. Компьютерные вирусы. – URL: http://dic.academic.ru/dic.nsf/ruwiki/977057 – Текст: электронный (дата обращения: 09.12.2022)
  7. Компьютерные вирусы – URL: https://academic.ru/ – Текст: электронный (дата обращения: 09.12.2022)
  8. Рассолов, И. М. РАССОЛОВ «Киберпреступность: понятие, основные черты, формы проявления». – URL: http://center-bereg.ru/h1529.html – Текст: электронный  (дата обращения: 09.12.2022)
  9. Спам опять идет к вам. – URL: https://rg.ru/2013/10/16/spam.html – Текст: электронный (дата обращения: 09.12.2022)


Поделиться:

Извержение вулкана

Нечаянная победа. Айзек Азимов

Хризантема и Луковица

Акварель + трафарет = ?

Госпожа Метелица