Функция html_quote
Функция html_quote применяется для экранирования
специальных символов HTML в строке. Первым параметром
передаётся строка, которую нужно преобразовать. Функция
заменяет символы &, <, >,
" и ' на соответствующие HTML-сущности.
Это предотвращает интерпретацию пользовательских данных
как HTML-кода и защищает от XSS-атак.
Синтаксис
from bottle import html_quote
res = html_quote(text)
Пример
Давайте экранируем строку, содержащую HTML-теги:
from bottle import html_quote
text = '<b>hello</b>'
res = html_quote(text)
print(res)
Результат выполнения кода:
"<b>hello</b>"
Пример
Давайте экранируем строку с кавычками и амперсандом:
from bottle import html_quote
text = 'user "abcde" & co'
res = html_quote(text)
print(res)
Результат выполнения кода:
"user "abcde" & co"
Пример
Давайте используем html_quote в обработчике
маршрута для безопасного вывода данных:
from bottle import Bottle, html_quote
app = Bottle()
@app.route('/')
def index():
user_input = '<script>alert(1)</script>'
return html_quote(user_input)
Результат выполнения кода для адреса /:
<script>alert(1)</script>
Смотрите также
-
функцию
html_escape,
которая экранирует специальные символы HTML -
функцию
cookie_encode,
которая кодирует данные в значение cookie -
функцию
cookie_decode,
которая декодирует значение cookie -
функцию
parse_auth,
которая разбирает заголовок авторизации