РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
739 of 818 menu

Функция escape

Функция escape применяется к строке и возвращает новую строку, в которой специальные HTML-символы заменены на HTML-сущности. Это необходимо для безопасного отображения данных, полученных от пользователей, чтобы предотвратить внедрение вредоносного кода. Функция экранирует символы <, >, ", ' и &.

Синтаксис

from django.utils.html import escape escaped_string = escape(string)

Пример

Давайте экранируем строку с HTML-тегами:

from django.utils.html import escape user_input = "<script>alert('XSS')</script>" escaped = escape(user_input) print(escaped)

Результат выполнения кода:

"<script>alert('XSS')</script>"

Пример

Давайте экранируем строку с кавычками и амперсандом:

from django.utils.html import escape user_input = 'Hello "world" & friends' escaped = escape(user_input) print(escaped)

Результат выполнения кода:

"Hello "world" & friends"

Пример

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

from django.utils.html import escape from django.template import Template, Context user_comment = "<b>Hello</b> <i>world</i>" safe_comment = escape(user_comment) # Использование в шаблоне template = Template("{{ comment }}") context = Context({"comment": safe_comment}) result = template.render(context) print(result)

Результат выполнения кода:

"<b>Hello</b> <i>world</i>"

Смотрите также

  • функция conditional_escape,
    которая экранирует строку, только если она не помечена как безопасная
  • функция mark_safe,
    которая помечает строку как безопасную для вывода без экранирования
  • класс SafeString,
    который представляет строки, помеченные как безопасные
  • функция strip_tags,
    которая удаляет все HTML-теги из строки
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить