Рубрики
Uncategorized

Безопасность для фронтального разработчика

В то время как кибербезопасность часто рассматривается с точки зрения баз данных и архитектуры, большая часть сильной секунды … Помечено безопасностью, WebDev, DevOps, новичками.

В то время как кибербезопасность часто рассматривается с точки зрения баз данных и архитектуры, большая часть сильной безопасности зависит от элементов в области разработчика фронта. Для определенных потенциально разрушительных уязвимостей, таких как SQL -инъекция и Сценарии поперечного сайте (xss) хорошо продуманный пользовательский интерфейс является первой линией защиты.

Вот несколько сферов, ориентированных на фронт-разработчиков, которые хотят помочь бороться с хорошим боем.

Управлять пользовательским вводом

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

Ввод может быть подтвержден, ограничивая его известными значениями, например, с помощью Семантические типы ввода или Атрибуты, связанные с валидацией в формах. Структуры, такие как Джанго также помощь, предоставив Типы поля Для этого. Случайные данные могут быть сделаны путем удаления или замены контекстных символов, например, с использованием белого списка или избежания входных данных.

Хотя это не может быть интуитивно понятным, должны быть подтверждены даже данные, которые пользователь отправляет в свою область на сайте. Одним из самых быстрых вирусов для пролифера был Сами Червь На Myspace (да, я старый), благодаря коду, который Сами Камкар смог ввести в свою собственную страницу профиля. Не возвращайте какие -либо входные данные на ваш сайт без тщательной проверки и дезинфекции.

Для дальнейшего руководства по борьбе с инъекционными атаками см. Шпаргалка по профилактике инъекций OWASP Анкет

Остерегайтесь скрытых полей

Добавление type = "hidden" это удивительно удобный способ скрыть конфиденциальные данные на страницах и формах, но, к сожалению, не является эффективным. С такими инструментами, как Zapproxy И даже инструменты проверки в простых веб -браузерах, пользователи могут легко нажать, чтобы раскрыть вкусные кусочки невидимой информации. Скрытие флажок может быть аккуратным взломом для создания коммутаторов только CSS, но скрытые поля мало что делают для обеспечения безопасности.

Если вы должны использовать скрытые поля, вот несколько Полезные руководящие принципы Анкет

Тщательно рассмотрите полей автозаполнения

Когда пользователь решает дать вам их Лично идентифицируемая информация (PII), это должен быть сознательный выбор. Поля автозаполнения могут быть удобными — как для пользователей, так и для злоумышленников. Эксплойты с использованием скрытых полей могут собирать PII ранее запечатлено в поле автозаполнения.

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

Важно также взвесить ваш профиль риска против его компромиссов. Если ваш проект должен быть WCAG Соответствующая, отключение автозаполнения может нарушить ваш ввод для различных методов. Для получения дополнительной информации см. 1.3.5: Определите входные цели в WCAG 2.1 Анкет

Держите ошибки общими

Хотя может показаться полезным, чтобы пользователи знали, существует ли часть данных, это также очень полезно для злоумышленников. При работе с учетными записями, электронными письмами и PII наиболее безопасно ошибаться (🥁) на стороне меньшего. Вместо того, чтобы возвращать «ваш пароль для этой учетной записи неверный», попробуйте более неоднозначную обратную связь »неверную информацию в системе входа в систему», и избегайте раскрытия того, находится ли имя пользователя или электронную почту в системе.

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

Быть плохим парнем

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

Спросите себя, действительно ли все на странице необходимо для подлинного пользователя. Если нет, отредактируйте или удалите его. Меньше безопаснее.

Безопасность начинается у входной двери

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

Оригинал: «https://dev.to/victoria/security-for-the-front-end-developer-544l»