我有一些API
端点,用于存储来自一个应用程序的用户输入,然后使用Django
模板在jinja2
应用程序中将其读出。
因此,输入经过验证并转义。 API
返回如下数据:
{"id": 123, "comment": "<script alert("e;I tried to XSS"e;)>"}
jinja
模板呈现此数据时,由于会自动按字面意义进行呈现,因此会呈现
<script alert(...
在页面上。
我希望它能正常渲染这些标签,以便<
和>
正确显示为文本。
但是,我不想启用|safe
,因为数据来自多个不受控制的来源,并且仍有注入的可能性。
这可能吗?