使用 markupsafe Python模块中的 escape() 函数对外部输入进行转义
在开发网页应用程序时,对于外部输入,要保持谨慎态度。先加工一下外部输入,是个好主意。
一个重要的加工步骤就是转义(escape)。
将 '<script>' 中的大于号与小于号转义成为 HTML 符号,避免用户的输入被当作程序执行
from markupsafe import escape
escape('<script>') # 变成 Markup('<script>')
思考:如果输入是 '< script >' ,即 script 的前后都有空格, 使用 escape() 函数转义,会变成什么?
将 & 变成 HTML 符号
escape('&') # Markup('&')
将单引号变成 HTML 符号
escape('\'') # Markup(''')
Markup 对象可以与普通字符串拼接,变成另外一个 Markup 对象
escape('<script>') + '</script>' # Markup('<script></script>')
escape() 函数支持中文
escape('中文 > English') # Markup('中文 > English')
