• Зачем шифруют огромное количество сайтов?

    zoonman
    @zoonman
    ⋆⋆⋆⋆⋆
    Можно начать с того, что сайты не шифруют, а шифруют соединение между сайтом и браузером.
    В-первую очередь делается с целью защиты данных от перехвата или изменения при обмене.
    Шифрование работает в оба конца. Т.е. если вы скачиваете что-то с такого сайта, то можно считать, что содержимое файла не доступно никому кроме владельца сайта и вас. Это работает и закачке/передачи данных на сайт. Для конечно пользователя это значит, что никто не сможет получить доступ к его данным идущим в обе стороны.
    В основном, делают, чтобы не воровали пароли и не встраивали рекламу. Многие сети этим грешат.
    Но кроме паролей существует и другая ценная информация, например есть магазины оптовой торговли, которые отображают разным клиентам разную цену.
    Но можно привести пример по-интереснее. Пришли в кафе попить кофейку, почитать новости на популярном сайте. У вас там личный кабинет, вы культурный человек, у вас репутация ого-го, вы какой-нибудь мэр. А ваша кука сперта и позже от вашего имени на сайте появятся комментарии весьма недостойного содержания. Попили чайку, пообедали, поехали на работу, вы занятой человек. А кука работает, вы уже и Путина успели оскорбить там, и т.д. Короче вами уже органы вовсю занимаются.
    В общем звонят и снимают с должности, а вы не сном не духом, что за беда. Откуда? Пароль хороший, антивирус в порядке. Только вот роутер в кафе с трояном и MITM уже запущен. Опозорились на всю страну, попали в новости. Вот вам пример того, как безобидный сайт с новостями может испортить жизнь человеку. А все из-за http.
    В современных реалиях работа через https не так уж и сложна. Тот же https://letsencrypt.org/ раздает сертификаты направо и налево абсолютно бесплатно.
    Ответ написан
  • Глобальные переменные и переменные окружения это одно и то же?

    solotony
    @solotony
    покоряю пик Балмера
    "переменные окружения" - это переменные операционной системы. при запуске приложения они доступны из приложения обычно через переменную (массив) c именем ENV (или его вариации).

    "глобальные переменные" - это применительно к языку программирования - такие переменные которые доступны из всего приложения.

    переменная ENV в большинстве сред программирования - глобальная переменная
    Ответ написан
    Комментировать
  • Авторские права на GitHub?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    В чем логика выкладывать свой код на всеобщее обозрение

    Если у тебя есть на Github'е репозиторий с тысячей или более звёздочек, то предложения о работе за большие деньги поступают по нескольку в день, а на собеседованиях ты задаёшь вопросы работодателю, а не он тебе.
    Ответ написан
    3 комментария
  • Авторские права на GitHub?

    Tyranron
    @Tyranron
    Не пойму какое реальное практическое применение имеет сервис github и как обстоят дела с авторскими правами?


    Это хостинг Git репозиториев, который, помимо непосредственно удаленного Git репозитория, предоставляет ещё целый ворох удобных инструментов коллаборации и интеграции (code smell, code coverage, CI, Docker Hub'ы, Zapier'ы, боты, и вот всё это вкусное). Всё это позволяет удобно вести разработку проектов.
    К слову сказать, Github используют и для закрытых проектов тоже. Но это уже идет за денюжку.
    Авторские права регулируются лицензией, которую каждый уважающий себя репозиторий имеет.

    1) В чем логика выкладывать свой код на всеобщее обозрение, чтобы его скопировали и потом продавали? Или там реальные вещи, которые несут материальную ценность не выкладываются? Или там что-то типа: о посмотрите, я написал новый супер-аудиоплеер, качайте на здоровье и пользуйтесь. Или сервис наполовину коммерческий, типа вот ограниченные версии кода, можете пользоваться, а если хотите что-то нормальное - покупайте лицензию?


    Есть как закрытые (код доступен только членам команды), так и открытые (код доступен всем) проекты. В чем смысл открытых проектов и open source как такового - это отдельная огромная тема.
    Открытый исходный код, как минимум, дает следующие преимущества проекту:
    - Доверие и прозрачность. Любой желающий может изучить исходники и удостовериться, что там нет ничего вредного. Может сам взять и скомпилировать код, если не доверяет чужим бинарникам.
    - Рост за счет сообщества. 1 команда - хорошо, но тысячи контрибъюторов - лучше.

    Не все проекты являются "аудиоплеером на продажу". Не все проекты монетизируются. Более того, зарабатывать деньги - тоже далеко не цель каждого проекта. Open source - это просто другая модель разработки ПО. И с помощь неё разрабатываются достаточно серьезные вещи: Linux, Kubernetes, MySQL, PostgreSQL, тысячи их... Без open source не было бы такого бурного развития программных продуктов. Он является фундаментом и базой для всего остального. Назовите мне хотя бы один закрытый большой и известный проект, который не использует ни одного open source продукта вообще. Ведь open source на самом деле вездесущ =)

    2) И что понимается под авторскими правами на GitHub-e, да и вообще впринципе. Верстка сайта (сами блоки, расположение), если скопировать (кроме дизайна) - это считается нарушением авторских прав? С дизайном понятно, если макет один в один - это вроде как нарушение авторских прав. И кстати, сам дизайн макет по сути налеплен из разных фоток, зачастую с лицами людей - сами-то дизайнеры откуда берут это все, тупо качают из интернета чужие фотки?


    Это всё зависит под какой лицензией подается тот или иной дизайн/код/шаблон/верстка/фотка. Все условия лицензии обычно указываются в самом репозитории в соответствующем файле LICENSE.
    Некоторые проекты разрешают использовать где угодно и как угодно. Другие запрещают использовать в коммерческих целях. В принципе, никто Вам не мешает запретить использовать код посторонними лицам вообще, если Вы в этом видите какой-либо смысл.

    Откуда дизайнеры берут фотки - вопрос к ним. Как Вы должны понимать, ситуаций разных целый ворох. Одни просто берут фотки из интернета. Другие, более добросовестные, получают согласие автора на использование фотки, если она не выложена под свободной лицензией.

    3) Если взять код с функционалом типа CMS - это тоже нарушение авторских прав? Может я что-то не понимаю, но принцип CMS же примерно одинаковый, генерить статичные страницы, каталог и прочее взаимодействие? Взять тот же Bitrix, это что-то супер-уникальное чего нет в открытом доступе? Неужели за столько лет развития интернета в сети не появилось бесплатного качественного аналога платной CMS?


    Это будет нарушением прав, если Вы этот код будете использовать не согласно лицензии.

    Вопрос про принцип не понятен. Лицензирование принципов - это уже патенты. Если проект нарушает патент, то он его нарушает будь хоть открытым, хоть закрытым. И наоборот тоже, если в проекте реализовано что-то запатентованое его авторами - то копирование будет нарушением патента (если в условиях лицензии не указано другое). Но вообще open source и патенты как-то плохо смотрятся в одной корзине. Как говорится - ни рыба, ни мясо.

    За аналоги Bitrix не скажу, но вообще бесплатных CMS - пруд пруди. Гугл "в зубы" и вперед выбирать.
    Ответ написан
    5 комментариев
  • Может ли датаграмма разбиваться на пакеты?

    jcmvbkbc
    @jcmvbkbc
    http://dilbert.com/strip/1998-08-24
    пишут, пакет - это разбитая на фрагменты датаграмма, т.е. когда размер датаграммы превышает допустимый для данной сети. Но как он может превышать впринципе, если тот же TCP начинает выстраивать сегмент уже на основании MTU и MSS? Те. по идее разбиваться на фрагменты нечему будет, потому что и так будет меньше допустимого для данной сети. И он никогда не будет превышать допустимый размер?

    Кроме TCP есть и другие протоколы, например UDP, да и TCP не обязан подгонять MSS под MTU.

    Какой все же правильный размер MTU для ethernet по стандарту? Все пишут, что 1500, но где в каком это стандарте написано?

    ieee 802.3, раздел 3.1.1 Packet format, там картинка и ссылка на 3.2.7 со следующим текстом:
    Ethernet implementations shall support at least one of three maximum MAC Client Data field sizes defined
    as follows:
    a) 1500 decimal—basic frames (see 1.4.102)
    b) 1504 decimal—Q-tagged frames (see 1.4.334)
    c) 1982 decimal—envelope frames (see 1.4.184)


    А как же тогда jumbo-кадры передаются, они типа нарушают стандарт?

    В стандарте 802.3 их нет.

    У меня wireshark показывает TCP длину "Length = 1514", как такое возможно, если на роутере стоит MTU 1500?

    1514 = 14 байт ethernet заголовка (6 -- адрес получателя, 6 -- адрес отправителя, 2 -- ethtype) + 1500 байт нагрузки
    Ответ написан
    4 комментария
  • Как работают протоколы IPoE и PPPoE и PPPoA?

    vvpoloskin
    @vvpoloskin Куратор тега Компьютерные сети
    Инженер связи
    Когда-то давно, еще до возникновения рынка ШПД в целом, широко применялся протокол PPP. Преимущественно он работал на WAN интерфейсах (еще не Ethernet, часто последновательные типа RS232). Этот протокол имел расширенный функционал, которого нет в ethernet, в первую очередь для операторов интересны аутентификация и контроль соединений, а для xDSL подключений важно также расширенный контроль битых пакетов (ошибок). PPP - протокол канального уровня, собственно, как и ethernet, каждый фрейм имеет свой заголовок.

    Так вот, чтобы передать PPP через ethernet и используется PPPoE. А надо это для того, чтобы использовать расширенный функционал PPP. Структура пакета выглядит так - (заголовок ethernet (заголовок PPP (заголовок IP (данные)))).

    PPPoA - тоже самое, что и PPPoE, только уже через сеть ATM. ATM такая же технология доступа к каналам связи, только совсем не распространенная в РФ и СНГ. Но она до сих пор используется на Западе. В живую я ATM видел в РФ лет 10 назад в одной крупной корпоративной сети. Но и здесь ethernet уже ее давным-давно выжил.

    IPoE уже интереснее. Фактически это обычная передача пакетов IP, как написано в книжках TCP/IP. Обычно такой термин используется как замена PPPoE. Но Ethernet и IP лишины расширенного функционала аутентификации и контроля подключений. И вот здесь уже приходят на смену различные технологии вроде ISG, dhcp snooping. В общем IPoE говорят преимущественно в операторских сетях и подразумевают помимо прохождения трафика какую-то реализованную схему контроля доступа к услуге.
    Ответ написан
    Комментировать
  • Что такое Net Framework и язык C#?

    @cicatrix
    было бы большой ошибкой думать
    Опускаясь до уровня "на пальцах":
    Например, можно написать программу на ассемблере (поскольку он платформеннозависимый), ваша программа будет выполняться, например, только на процессорах архитектуры x86. При этом, вам придётся писать эту же программу для другой архитектуры.

    Поднимемся выше. Напишем программу на C или С++. Она уже отчасти платформеннонезависима, так как при компиляции на разных архитектурах, та или иная реализация компилятора учитывает особенности платформы и генерирует совместимый машинный код. Но допустим, вам необходимо написать что-то сложнее hello world. Вы ищете подходящий функционал в стандартных библиотеках и, допустим, не находите. Зато вы находите подходящую библиотеку А, но вдруг выясняется, что она использует компоненты сторонней библиотеки Б, которая ...
    Ну, в целом, цепочка зависимостей может быть весьма длинной. И вот, ваш проект, ради одной фичи обрастает кучей зависимостей. Более того, вы сталкиваетесь с проблемами лицензирования, так как программный код, который вы гуглите и скачиваете из интернетов, скорее всего распространяется как Open Source, а значит - вы не можете закрывать свой исходный код (всё немного сложнее, но если ваши намерения по распространению своего проекта выходят несколько дальше, чем лабораторная работа по информатике, эти проблемы могут возникнуть).
    У вас может возникнуть желание написать свой "велосипед" под себя, но, тем самым, вы тратите время на создание некоего вспомогательного компонента, и вообще, ваша программа не про это.

    Теперь перейдём к .Net Framework. Разработчики постарались для вас и написали несколько десятков (или сотен) тысяч классов практически подо все умозрительные задачи, которые могут вам понадобиться, то есть это "кубики лего", позволяющие вам БЫСТРО писать приложения, сосредоточившись на логике вашей программы.
    Вам не надо реализовывать свой файловый ввод-вывод, работу с сетью, криптографию, коллекции, работу с базами данных и пр. Всё уже есть, всё пишется в 1-2 строки. Всё готово к употреблению.

    Как же этим пользоваться? В объектами фреймворка можно работать на нескольких языках: C#, VB.Net, F# и что там ещё напридумывали, все они взаимодействуют с Common Language Runtime и имеют доступ ко всем классам фреймворка.
    Ответ написан
    3 комментария
  • Можно ли сделать приложение на "битрикс мобильное приложение"?

    Грубо говоря мобильное приложение битрикс это браузер без адресной строки с доступом к некоторым функциям платформы из js.
    Какую вы мобильную версию запилите на сайте - такой сложности и будет ваше приложение. И да - сложность может быть любой, так как js тьюринг-полный язык ;)
    Ответ написан
    2 комментария
  • Почему ключи шифрования состоят только из цифр?

    fzfx
    @fzfx
    18,5 дм
    то, что вы называете "состоят только из цифр, без символов", зовётся либо ASN.1, либо Base32, либо как-нибудь ещё. то, что вы видите, является лишь одним из способов записи ключа в файл, и никак не влияет на сложность разгадывания "пароля". в конечном итоге, всё в компьютере цифры, в том числе и ваши символы. ключ состоит из последовательности бит. для различных алгоритмов шифрования допустимы свои размеры ключей (например, 1024 бита или 4096 бит). по сути именно этим (хотя и не только) определяется сложность "пароля".
    кстати, при чём тут пароль, если речь идёт о ключах шифрования?
    Ответ написан
    1 комментарий
  • Почему ключи шифрования состоят только из цифр?

    @cicatrix
    было бы большой ошибкой думать
    Ключ шифрования это последовательность нулей и единиц (двоичное число). В каком виде их представлять пользователю, значения не имеет.
    Ответ написан
    8 комментариев
  • Что означает фраза данные передаются поверх протокола?

    POS_troi
    @POS_troi
    СадоМазо Админ, флудер, троль.
    Читайте как "внутри"

    Тоесть представляете себе SSL как трубу, канал дял передачи данных, данные как вода текут в этой трубе, защищенные её стенками.
    Ответ написан
    2 комментария
  • Где находятся DNS-сервера физически?

    @Psq
    Информационная безопасность. Пентест.
    Сетевой адрес DNS-сервера указан у вас в настройках адаптера - либо вами, либо используя автонастройку (DHCP). В случае автонастройки указывается DNS-сервер провайдера, который сохраняет часть запросов, чтобы не отправлять их повторно к внешним DNS-серверам.

    DNS сервер может поднять любой желающий.

    Другой вопрос как это реализовано на глобальном уровне:

    Когда вы вводите адрес интернет-ресурса в строку браузера, он отправляет запрос на DNS-сервер отвечающий за корневую зону. Таких серверов 13 и они управляются различными операторами и организациями. Например, сервер a.root-servers.net имеет IP-адрес 198.41.0.4 и находится в ведении компании Verisign, а e.root-servers.net (192.203.230.10) обслуживает НАСА.

    Каждый из этих операторов предоставляет данную услугу бесплатно, а также обеспечивает бесперебойную работу, поскольку при отказе любого из этих серверов станут недоступны целые зоны интернета. Ранее корневые DNS-серверы, являющиеся основой для обработки всех запросов о доменных именах в интернете, располагались в Северной Америке. Однако с внедрением технологии альтернативной адресации они «распространились» по всему миру, и фактически их число увеличилось с 13 до 123, что позволило повысить надёжность фундамента DNS.

    Например, в Северной Америке находятся 40 серверов (32,5%), в Европе – 35 (28,5%), еще 6 серверов располагаются в Южной Америке (4,9%) и 3 – в Африке (2,4%). Если взглянуть на карту, то DNS-серверы расположены согласно интенсивности использования интернет-инфраструктуры.


    https://habrahabr.ru/company/1cloud/blog/309018/
    Ответ написан
    4 комментария