Flask护身符打破FlaskRESTPlus'招摇文件

2024-06-09 22:47:32 发布

您现在位置:Python中文网/ 问答频道 /正文

我最近安装了flask-talisman,在定义了默认的内容安全策略之后,我意识到我的Swagger文档页没有加载。你知道吗

Swagger文档页由flask restplus自动生成,它只是停止加载。你知道吗

我定义的内容安全策略(CSP)如下所示:

csp = {
    'default-src': '\'self\''
}
talisman = Talisman(app, content_security_policy=csp)

这可以简单地通过向CSP中的受信任域添加swagger来解决吗?你知道吗

csp = {
    'default-src': ["'self'", "*.swagger.com"]
}
talisman = Talisman(app, content_security_policy=csp)

还是需要定义其他参数?你知道吗


Tags: 文档selfsrcappdefaultflask内容定义
1条回答
网友
1楼 · 发布于 2024-06-09 22:47:32

不,这是因为swagger ui使用inline scriptsstyleshere's the open issue tracker for swagger-ui,这里是open issue for flask-restplus。你知道吗

flask talisman允许对'per-view' basis进行控制,因此可以将“unsafe inline”关键字添加到该端点的CSP中。如果使用flask restplus无法实现这一点,您还可以使用before\u请求修改CSP,不管swagger路由前缀是什么,如here所述。你知道吗

相关问题 更多 >