gpt4 book ai didi

python - flask jsonify : how to escape characters

转载 作者:太空宇宙 更新时间:2023-11-04 08:59:01 25 4
gpt4 key购买 nike

我刚刚开始使用 Flask 网络框架。我目前正在编写一个端点,它返回很可能包含恶意 javascript 的 JSON 位。

例如:

@api.route("/tester")
def api_jobs_tester():
return jsonify({
"name": "<script>alert(1)</script>"
})

在本例中,返回:

{
"name": "<script>alert(1)</script>"
}

然而,理想情况下,我希望返回:

{
"name": "&lt;script&gt;alert(1)&lt;/script&gt;"
}

当然,这在每个值的基础上很简单,只需:

return jsonify({
"name": escape("<script>alert(1)</script>")
})

但是,我可能需要返回比这复杂得多的 JSON 响应,其中我不一定事先知道 JSON 的结构。

我可能会使用自己的函数来遍历 JSON 树并转义所有字符串,但我更喜欢使用内置方法来执行此操作。

使用 Flask 转义 JSON 响应中的值的最简单方法是什么?

最佳答案

jsonify 函数没有转义选项。但是 flask.json 中有 htmlsafe_dumps 函数,您可以使用它:

from flask import json, jsonify

return jsonify(**json.loads(json.htmlsafe_dumps(obj)))

关于python - flask jsonify : how to escape characters,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27369306/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com