Top.Mail.Ru

Что такое это такое: Whitelist и Blacklist в программировании

Любой начинающий программист рано или поздно задастся вопросом, что такое Whitelist и что такое Blacklist? Не важна сфера программирования – будь то веб-дизайн, создание сайтов, создание приложений, работа с базами данных или программирование игр. Как понятно из простого перевода с английского Whitelist — это белый список. А Blacklist — это черный список чего-то. Данная технология придумана в первую очередь для обеспечения стартовой безопасности вашего проекта. «Белый список» – разрешает что-то. «Черный список» – запрещает что-то.

Что такое White List в программировании?

Приведем самый простой пример использования «Белого листа» в программировании. Может так получиться, что реализовав свой проект, вы столкнетесь с необходимостью загружать какие-нибудь файлы на ваш сервер. Этими файлами могут быть:

  • фотографии к учетной записи пользователя;
  • какой-нибудь текстовый документ;
  • аудио или видео файл;
  • в принципе что угодно.

В таком случае при загрузке файлов на сервер, есть расширения файлов, которые «нежелательны». К примеру, при работе с сервером Apache + PHP , лучше ограничить загрузку файлов с расширением «.php». Потому что это может повлечь непредсказуемые результаты). Также в число «нежелательных» могут попасть любые малознакомые форматы и расширения файлов. Особенно, которые могут также непредсказуемо обрабатываться вашим сервером.

В такой ситуации Whitelist или Blacklist — это то, что спасет ситуацию. Потому что при написании программы, которая будет отвечать за корректную выгрузку файлов на сервер, можно будет задать проверку расширения загружаемых файлов по вашим спискам. Если это будет Whitelistзначит программа будет осуществлять проверку среди списка разрешенных расширений файлов. Соответственно, если расширение будет найдено в списке, то загрузка будет разрешена. Если это будет Blacklist — значит проверка будет осуществляться среди списка запрещенных расширений файлов. Соответственно, если расширение будет найдено в списке, то загрузка будет запрещена.

Как понятно из вышесказанного, что основная функция и цель Whitelist и Blacklist в программировании — это осуществления и анализ первоначальной безопасной работы вашего проекта.

Whitelist — последние изменения в использовании

В последнее время наметился тренд отказываться от самих терминов «whitelist» и «blacklist», но не от самой технологии использования. Данные термины негласно признаны политически некорректными и расистскими. По сути обозначающими : «белое-можно, черное-нельзя». Поэтому многие западные компании, начали заменять данные термины более нейтральными аналогами:

  • whitelist – превратился в «allowlist» (список разрешений);
  • blacklist — превратился в «blocklist» (список для блокировки).

Также были заменены термины «master»(хозяин) и «slave»(раб). Среди первых компаний, начавших модерацию терминов засветились такие гиганты как Google и Twitter. А также: разработчики языка Go, разработчики движка Drupal, разработчики рабочей среда для веб-приложений Django, системы управления базами данных Redis и CouchDB и др.

По словам разработчиков, использующих замену этих терминов, сам процесс — это не повод для дебатов об этих терминах. Это их собственная политика корректности. Они считают, что замена любых подобных терминов необходима, если есть люди, которых они могут «задевать» или обижать.

В наших «постсоветских» странах пока такая тенденция слаба заметна. У большинства разработчиков Whitelist — это все тот же «белый список» для «разрешенного».Что не мешает им создавать интересные, современные и популярные проекты.

Поделись статьей с друзьями!

Ответить

Ваш адрес email не будет опубликован. Обязательные поля помечены *