По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие наши статьи:
img
Привет мир! Вы наверняка слышали аббревиатуру - VPN, и возможно даже пользовались этим. А знаете ли что это вообще такое и как это работает? Ну да, как то так... Но лучше - давайте разбираться! Видеопособие VPN расшифровывается как Virtual Private Network, или по русски Виртуальная частная сеть. В названии отражена суть этой технологии - она позволяет установить виртуальное соединение, которое называют туннелем, между вашим устройством, или даже целой сетью и другим удаленным устройством, или же - другой удаленной сетью. Что значит виртуальное? Это значит что несмотря на то, что ваши данные будут также передаваться в публичную сеть, как правило Интернет, между вами и второй стороной будет образован защищенный виртуальный туннель, и вы окажетесь в одной сети, даже несмотря на то, что вас могут разделять тысячи километров. VPN часто спасает, например, в случае удаленной работы, когда сотрудник, находясь вне офиса может подключаться к необходимым ресурсам в офисной сети, как если бы он находился там и сидел бы за своим рабочим местом. Или когда необходимо объединить сети, которые территориально располагаются в разных городах в одну большую сеть с единым адресным пространством! Типы VPN Глобально, не обращая внимания на различные протоколы, можно обозначить два типа VPN соединения: Site-to-Site и Remote Access. Соединение Site-to-Site - это когда с пограничного маршрутизатора или межсетевого экрана, которые называют VPN шлюзом, строится туннель до такого же оборудования, стоящего в другом месте. Таким образом, сотрудники в сети, находящейся за одним VPN-шлюзом получают доступ к ресурсам, находящимся в сети за другим шлюзом через тот самый туннель и в этом случае по туннелю гоняет трафик всех и всего, что находится в этих сетях. Remote Access, в свою очередь, это построение туннеля только с вашего индивидуального устройства, компьютера, ноутбука, айфона, планшета, например, до определенного VPN-сервера, и как раз такой способ чаще всего и используется для обхода блокировок и каких-нибудь темных дел. Ведь при таком подключении - реальный IP-адрес Вашего устройства будет изменен, а вместо него Вы получите адрес от VPN-сервера. И если Вы находясь где нибудь под Смоленском построите туннель с сервером, который живет на Сейшелах, то в Интернете Ваша геолокация молниеносно изменится. Именно поэтому так сложно определить реальное местоположение из которого осуществлялась кибератака. Злоумышленники никогда не светят свой реальный IP, чтобы к ним раньше времени не пришли из правоохранительных органов. Но не обольщайтесь - сегодня способов определения даже "заVPNненного" девайса более чем достаточно. Отличаются эти два типа тем, что для Remote Access VPN требуется клиент или расширение для веб-браузера, чтобы можно было на чем-то приземлить туннель, а в случае site-to-site, всё происходит на уровне маршрутизации и все компьютеры, телефоны и прочая инфраструктура могут слать трафик в туннель без всяких дополнительных ухищрений. Как VPN защищает подключение? Защита заключается в том, что вся передаваемая информация по VPN туннелю шифруется тем или иным алгоритмом шифрования, и за счет этого, злоумышленники или другие неавторизованные личности не могут получить доступ к информации для ее прочтения или модификации. Существует множество алгоритмов шифрования, но все они делятся на симметричные и асиметричные. Симметричное шифрование использует один и тот же ключ и для зашифровывания, и для расшифровывания. Пример такого алгоритма - AES (Advanced Encryption Standard). Асимметричное шифрование использует два разных ключа: один для зашифровывания, который также называется открытым, другой для расшифровывания - он называется закрытым. Пример такого алгоритма шифрования - RSA. Кстати, оба типа алгоритмов могут быть криптостойкими, то есть устойчивыми ко взлому и некриптостойкими. Как пример некриптостойкого алгоритма можно привести DES (Data Encryption Standard), длина ключа которого составляет всего 56 бит, за счет этого сегодня его можно взломать с использованием ну оооочень простых современных компьютеров. И противоположный ему - AES256, у которого длина ключа составляет, как можно догадаться, 256 бит. Перебор всех возможных комбинаций для такой длинны ключа занимает астрономически долгое время, поэтому AES не взломан и по сей день. Как VPN помогает обходить блокировки? Что если нужно добавить партнера по бизнесу из другой страны в LinkedIn, но он заблокирован у Вас? Тут поможет VPN, который создает защищенное соединение с VPN сервером, который может находится в другой стране, в которой доступ до нужного ресурса не ограничен, а затем оттуда к самому ресурсу. Погодите, а тогда в чем отличие VPN от прокси? В зависимости от выполняемой задачи, существует много прокси-серверов, но в контексте этой статьи, прокси сервер - это посредник между пользователем и целевым ресурсом, который может быть заблокирован. Этот сервер тоже может находиться на другом континенте и соответственно иметь доступ туда, куда не имеем мы. В случае с прокси - Вы просто указываете в своём браузере или другом клиенте адрес прокси сервера, порой с логином и паролем. При этом виртуальный шифрованный туннель, как в случае с VPN, между Вами не строится, прокси сервер просто передаёт запросы от вас к другим ресурсам и пересылает ответы от них вам. Помните, что при подключении к любому ВПН или прокси серверу, его администратор может увидеть к каким сайтам вы пробуете получить доступ и какую информацию передаете даже несмотря на то, что она может быть зашифрована. Поэтому - просто будьте осторожны. Не подключайтесь к серверам и сервисам, которым не доверяете и не используйте VPN и прокси для противозаконных действий, ведь эти технологии разрабатывались совсем не для этого.
img
Git – это популярная система контроля версий. Благодаря Git разработчики могут сотрудничать и без проблем работать над проектами совместно. Git позволяет отслеживать изменения, которые вы вносите в проект с течением времени. Помимо этого, он позволяет вернуться к предыдущей версии, если вы вдруг решили не вносить изменение. Git работает по следующему принципу: вы размещаете файлы в проекте с помощью команды git add, а затем фиксируете (коммитите) их с помощью команды git commit. При совместной работе над проектами могут возникнуть ситуации, когда вы не захотите, чтобы какие-то файлы или части проекта были видны всем участникам команды. Иными словами, вы не захотите включать и фиксировать эти файлы в основной версии проекта. Вот почему вы можете не захотеть использовать разделитель (точку) с командой git add, так как в этом случае каждый отдельный файл будет размещен в текущем каталоге Git. Когда вы используете команду git commit, то каждый отдельный файл фиксируется – это также добавляет файлы, которые не нужно. Вы можете, наоборот, захотеть, чтобы Git игнорировал определенные файлы, но для такой цели не существует команды git ignore. Итак, как же сделать так, чтобы Git игнорировал и не отслеживал определенные файлы? С помощью файла .gitignore. В этой статье вы узнаете, что такое файл .gitignore, как его создать и как использовать для игнорирования некоторых файлов и папок. Также вы узнаете, как можно заставить Git игнорировать уже закоммиченый файл. Что такое файл .gitignore? Для чего он нужен? Каждый из файлов в любом текущем рабочем репозитории Git относится к одному из трех типов: Отслеживаемые – это все файлы и каталоги, о которых знает Git. Это файлы и каталоги, которые были недавно размещены (добавлены с помощью git add) и зафиксированы (закоммичены с помощью git commit) в главном репозитории. Неотслеживаемые – это новые файлы и каталоги, которые созданы в рабочем каталоге, но еще не размещены (или добавлены с помощью команды git add). Игнорируемые – это все файлы и каталоги, которые полностью исключаются и игнорируются, и никто о них в репозитории Git не знает. По сути, это способ сообщить Git о том, какие неотслеживаемые файлы так и должны остаться неотслеживаемыми и не должны фиксироваться. Все файлы, которые должны быть проигнорированы, сохраняются в файле .gitignore. Файл .gitignore – это обычный текстовый файл, который содержит список всех указанных файлов и папок проекта, которые Git должен игнорировать и не отслеживать. Внутри файла .gitignore вы можете указать Git игнорировать только один файл или одну папку, указав имя или шаблон этого конкретного файла или папки. Используя такой же подход, вы можете указать Git игнорировать несколько файлов или папок. Как создать файл .gitignore Обычно файл .gitignore помещается в корневой каталог репозитория. Корневой каталог также известен как родительский или текущий рабочий каталог. Корневая папка содержит все файлы и другие папки, из которых состоит проект. Тем не менее, вы можете поместить этот файл в любую папку в репозитории. Если на то пошло, но у вас может быть несколько файлов .gitignore. Для того, чтобы создать файл .gitignore в Unix-подобной системе, такой как macOS или Linux, с помощью командной строки, откройте приложение терминала (например, в macOS это Terminal.app). Затем для того, чтобы создать файл .gitignore для вашего каталога, перейдите в корневую папку, которая содержит проект, и при помощи команды cd введите следующую команду: touch .gitignore Файлы, перед именем которых стоит точка ., по умолчанию скрыты. Скрытые файлы нельзя просмотреть, используя только команду ls. для того, чтобы иметь возможность просмотреть все файлы, включая скрытые, используйте флаг -a с командой ls следующим образом: ls –a Что добавлять в файл .gitignore В файл .gitignore должны быть добавлены файлы любого типа, которые не нужно фиксировать. Вы можете не хотеть их фиксировать из соображений безопасности или потому, что они нужны только вам и не нужны другим разработчикам, работающим над тем же проектом, что и вы. Вот некоторые файлы, которые могут быть включены: Файлы операционной системы. Каждая операционная система, будь то macOS, Windows или Linux, создает системные скрытые файлы, которые не нужны другим разработчикам, так как их система создает такие же файлы. Например, в macOS Finder создает файл .DS_Store, который содержит пользовательские настройки внешнего вида и отображения папок, такие как размер и положение иконок. Файлы конфигурации, создаваемые такими приложениями, как редакторы кода и IDE (Integrated Development Environment – интегрированная среда разработки). Эти файлы настроены под вас, ваши конфигурации и ваши настройки, например папка .idea. Файлы, которые автоматически генерируются языком программирования или средой разработки, которую вы используете для своего проекта, и в процессе компиляции специфичных для кода файлов, такие как файлы .o. Папки, созданные диспетчерами пакетов, например, папка npm node_modules. Это папка, которая используется для сохранения и отслеживания зависимостей для каждого пакета, который вы устанавливаете локально. Файлы, которые содержат конфиденциальные данные и личную информацию. Примерами таких файлов могут послужить файлы с вашими учетными данными (имя пользователя и пароль) и файлы с переменными среды, такие как файлы .env (файлы .env содержат ключи API, которые должны оставаться защищенными и закрытыми). Файлы среды выполнения, такие как файлы .log. Они предоставляют информацию об использовании операционной системы и ошибках, а также историю событий, произошедших в рамках ОС. Как игнорировать файл или папку в Git Если вы хотите игнорировать только один конкретный файл, то вам необходимо указать полный путь к файлу из корневой папки проекта. Например, если вы хотите игнорировать файл text.txt, который расположен в корневом каталоге, то вы должны сделать следующее: /text.txt А если вы хотите игнорировать файл text.txt, который расположен в папке test корневого каталоге, вы должны сделать следующее: /test/text.txt Вы можете это записать иначе: test/text.txt Если вы хотите игнорировать все файлы с определенным именем, то вам нужно написать точное имя файла. Например, если вы хотите игнорировать любые файлы text.txt, то вы должны добавить в .gitignore следующее: text.txt В таком случае вам не нужно указывать полный путь к конкретному файлу. Этот шаблон будет игнорировать все файлы с таким именем, расположенные в любой папке проекта. Для того, чтобы игнорировать весь каталог со всем его содержимым, вам нужно указать имя каталога со слешем в конце: test/ Эта команда позволит игнорировать любой каталог (включая другие файлы и другие подкаталоги внутри каталога) с именем test, расположенный в любой папке вашего проекта. Стоит отметить, что если вы напишете просто имя каталога без слеша, то этот шаблон будет соответствовать как любым файлам, так и любым каталогам с таким именем: # соответствует любым файлам и каталогам с именем test test Что делать, если вы хотите игнорировать любые файлы и каталоги, которые начинаются с определенного слова? Допустим, вы хотите игнорировать все файлы и каталоги, имя которых начинается с img. Для этого вам необходимо указать имя, а затем селектор подстановочного символа *: img* Эта команда позволит игнорировать все файлы и каталоги, имя которых начинается с img. Но что делать, если вы хотите игнорировать любые файлы и каталоги, которые заканчиваются определенным набором символов? Если вы хотите игнорировать все файлы с определенным расширением, то вам необходимо будет использовать селектор подстановочного знака *, за которым последует расширение файла. Например, если вы хотите игнорировать все файлы разметки, которые заканчиваются расширением .md, то вы должны в файл .gitignore добавить следующее: *.md Этот шаблон будет соответствовать любому файлу с расширением .md, расположенному в любой папке проекта. Мы разобрали, как игнорировать все файлы, которые оканчиваются одинаково. Но что делать, если вы хотите сделать исключение для одного из этих файлов? Допустим, вы добавили в свой файл .gitignore следующее: .md Этот шаблон позволит игнорировать все файлы, оканчивающиеся на .md, но вы, например, не хотите, чтобы Git игнорировал файл README.md. Для этого вам нужно будет воспользоваться шаблоном с отрицанием (с восклицательным знаком), чтобы исключить файл, который в противном случае был бы проигнорирован, как и все остальные: # игнорирует все файлы .md .md # не игнорирует файл README.md !README.md Учитывая эти два шаблона в файле .gitignore, все файлы, оканчивающиеся на .md будут игнорироваться, кроме файла README.md. Стоит отметить, что данный шаблон не будет работать, если вы игнорируете весь каталог. Допустим, что вы игнорируете все каталоги test: test/ И допустим, внутри папки test у вас есть файл example.md, который вы не хотите игнорировать. В этом случае вы не сможете сделать исключение для файла внутри игнорируемого каталога следующим образом: # игнорировать все каталоги с именем test test/ # попытка отрицания файла внутри игнорируемого каталога не сработает !test/example.md Как игнорировать ранее закоммиченый файл Лучше всего создать файл .gitignore со всеми файлами и различными шаблонами файлов, которые вы хотите игнорировать, при создании нового репозитория, до его коммита. Git может игнорировать только неотслеживаемые файлы, которые еще не были зафиксированы в репозитории. Что же делать, если вы уже закоммитили файл, но хотели бы, чтобы он все-таки не был закоммичен? Допустим, что вы случайно закоммитили файл .env, в котором хранятся переменные среды. Для начала вам необходимо обновить файл .gitignore, чтобы включить файл .env: # добавить файл .env в .gitignore echo ".env" >> .gitignore Теперь, вам нужно указать Git не отслеживать этот файл, удалив его из перечня: git rm --cached .env Команда git rm вместе с параметром --cached удаляет файл из репозитория, но не фактический файл. Это значит, что файл остается в вашей локальной системе и в вашем рабочем каталоге в качестве файла, который игнорируется. Команда git status покажет, что файла в репозитории больше нет, в ввод команды ls покажет, что файл существует в вашей локальной файловой системе. Если вы хотите удалить файл из репозитория и вашей локальной системы, то не используйте параметр --cached. Затем добавьте .gitignore в область подготовленных файлов с помощью команды git add: git add .gitignore И наконец, закоммитте файл .gitignore с помощью команды git commit: git commit -m "update ignored files" Заключение Вот и все – теперь вы знаете, как игнорировать файлы и папки в Git.
img
Domain Name System DNS - это сетевая система, содержащая информацию о каждом web-сайте в Интернете. Каждый сайт имеет свой уникальный IP-адрес, имеющий вид 111.222.111.222, а также доменное имя, например merionet.ru. Человеку гораздо проще запомнить доменное имя сайта, нежели набор цифр входящих в IP-адрес. Для этих целей и была разработана система DNS. Подобно записной книжке, в ней хранится таблица соответствия доменного имени сайта и его IP-адреса. В DNS используется иерархическая древовидная структура серверов и имен. Самый верхний уровень это “root”, представляющий из себя точку (.) и следующий за ним домен верхнего уровня (Top Level Domain). Эти домены бывают двух типов: Generic Top Level Domain (gTLD) Например: .com (коммерческие web-сайты), .net(web-сайты сетевых структур), .org (вэб- сайты организаций), .edu (web-сайты образовательных структур) Country Code Top Level Domain (ccTLD) Например: .ru (Россия), .us (США), .uk (Великобритания), .in (Индия) Данные, которые сообщают веб-серверу, как ответить на ваш запрос называются DNS записи или Zone Files. Каждая запись содержит информацию о конкретном объекте. DNS-сервер использует записи, чтобы отвечать на запросы хостов из определенной доменной зоны. Например, запись address mapping (A) отвечает за связку host name и IP-адреса, а запись reverse-lookup pointer (PTR), за связку IP-адреса и host name. Стоит отметить, что в терминологии DNS очень много различных записей, мы же приведем основные: A Record - Содержит информацию об определенном доменном имени и соответствующем IP-адресе. DNS-сервер обращается к данной записи, чтобы ответить на запрос, содержащий доменное имя. Ответом будет IP-адрес, указанный в записи. PTR Record - Связывает IP-адрес с определенным доменным именем. NS (Name Server) Record - Связывает доменное имя со списком DNS-серверов, отвечающих за данный домен. MX (Mail Exchange) Record - Связывает доменное имя со списком серверов почтового обмена для данного домена. Например, при отправке письма на адрес example@merionet.ru, данное письмо будет перенаправлено на сервер, указанный в MX записи. Типы запросов DNS В терминологии DNS существует три типа запросов: Recursive – Такие запросы можно представить так: “Какой IP-адрес у a.merionet.ru?” При получении recursive запроса, DNS-сервер выполняет следующие действия: Хост отправляет локальному DNS-серверу запрос “Какой IP-адрес у a.merionet.ru?” DNS-сервер проверяет наличие записи a.merionet.ru в локальных таблицах и не находит ее. DNS-сервер отправляет запрос IP-адреса a.merionet.ru к root-серверу Root-сервер отвечает, что надо обратиться к TLD серверу, отвечающий за домен .ru DNS-сервер, получив ответ от root-сервера, отправляет recursive запрос одному из ccTLD-серверов, отвечающих за домен .ru TLD-сервер отвечает, что нужно обратиться к серверу, отвечающему за домен merionet.ru DNS-сервер отправляет запрос IP-адреса a.merionet.ru к серверу, отвечающему за домен merionet.ru Сервер обращается к A Record и находит там соответствующий IP-адрес для a.merionet.ru Таким образом, хост получает запрашиваемую страницу по адресу a.merionet.ru Второй тип DNS-запросов – это Iterative запросы. Данные запросы передаются между DNS-серверами, когда один из них не имеет соответствующих записей. Таким образом, инициатор запроса будет контактировать с сервером, который имеет нужную запись Последний тип запросов – Inverse. Собственно из названия данного запроса понятно, что они работают по инверсному принципу, то есть при известном IP-адресе запрашивается информация о доменном имени.
ВЕСЕННИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59