【问题标题】:Flask-Talisman breaks Flask-BootstrapFlask-Talisman 破坏了 Flask-Bootstrap
【发布时间】:2019-07-10 19:51:56
【问题描述】:

我希望我的网站始终重定向到该网站的安全 https 版本,我正在使用 flask-talisman 来执行此操作。但是由于某种原因,添加这行看似无关的代码会破坏我网站上的 flask-bootstrap 格式。

这是添加flask-talisman之前原始__init__.py文件和网站的样子:

from flask import Flask
from config import Config
from flask_sqlalchemy import SQLAlchemy
from flask_migrate import Migrate
from flask_bootstrap import Bootstrap
from flask_heroku import Heroku


app = Flask(__name__)
app.config.from_object(Config)
Bootstrap(app)
heroku = Heroku(app)
db = SQLAlchemy(app)
migrate = Migrate(app, db)

from app import routes, models

这是添加flask-talisman__init__.py文件和网站的样子:

from flask import Flask
from config import Config
from flask_sqlalchemy import SQLAlchemy
from flask_migrate import Migrate
from flask_talisman import Talisman
from flask_bootstrap import Bootstrap
from flask_heroku import Heroku


app = Flask(__name__)
app.config.from_object(Config)
Bootstrap(app)
Talisman(app)
heroku = Heroku(app)
db = SQLAlchemy(app)
migrate = Migrate(app, db)

from app import routes, models

更改Bootstrap(app)Talisman(app) 行的顺序也没有任何区别。有任何想法吗?我希望我的网站安全,但不以破坏所有格式为代价。

【问题讨论】:

  • 我已经通过使用 SSLify 代替 Talisman 解决了这个问题,但是 SSLify repo 说最好的做法是使用 Talisman,所以如果可能的话,我仍然希望让它工作. github.com/kennethreitz/flask-sslify

标签: python ssl flask https flask-bootstrap


【解决方案1】:

基于上面jrborba 的回答,这是我用来防止 Tailsman 破坏 Bootstrap 和 jQuery 的方法,但您可能不需要像我一样使用 unsafe-inline 行。

csp = {
    'default-src': [
        '\'self\'',
        '\'unsafe-inline\'',
        'stackpath.bootstrapcdn.com',
        'code.jquery.com',
        'cdn.jsdelivr.net'
    ]
}
talisman = Talisman(app, content_security_policy=csp)

【讨论】:

  • 这部分对我有用,但它似乎根本没有从“fonts.googleapis.com”加载字体。你有什么建议吗?
【解决方案2】:

这是一个旧线程,但答案是您需要将允许的网站列入白名单,就像在这个例子中一样(直接来自flask-talisman 网站):

csp = {
 'default-src': [
        '\'self\'',
        'cdnjs.cloudflare.com'
    ]
}
talisman = Talisman(app, content_security_policy=csp)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-21
    • 1970-01-01
    • 2020-02-11
    • 1970-01-01
    • 1970-01-01
    • 2012-06-19
    相关资源
    最近更新 更多