【发布时间】:2014-12-09 00:06:50
【问题描述】:
我刚刚开始使用 Flask Web 框架。我目前正在编写一个端点,它返回很可能包含恶意 javascript 的 JSON 位。
例如:
@api.route("/tester")
def api_jobs_tester():
return jsonify({
"name": "<script>alert(1)</script>"
})
在本例中,返回:
{
"name": "<script>alert(1)</script>"
}
但是,理想情况下,我希望返回:
{
"name": "<script>alert(1)</script>"
}
当然,这很容易在每个值的基础上进行,只需:
return jsonify({
"name": escape("<script>alert(1)</script>")
})
但是,我可能需要返回比这更复杂的 JSON 响应,其中我不一定事先知道 JSON 的结构。
我可能会扮演我自己的函数来遍历 JSON 树并转义所有字符串,但我更喜欢内置的方式来执行此操作。
使用 Flask 转义 JSON 响应中的值的最简单方法是什么?
【问题讨论】: