我想在我的网站上嵌入一个本地托管的 iframe,但我不能,因为引荐来源网址策略设置为“strict-origin-when-cross-origin”。
iframe 的 src 来自一个旨在嵌入 iframe 的网站,因此来自 src 的响应标头没有限制。我也知道这一点,因为如果我将 src 的链接直接放入我的 iframe 中,如下所示:
<iframe id="panoramic" style="border: 4px solid white" frameBorder="0" v-bind:src="https://momento360.com/e/u/47de8a9ca774487aa1f2bffb9c9fcc94?utm_campaign=embed&utm_source=other&heading=0&pitch=0&field-of-view=75&size=medium"></iframe>
它没有问题。问题是 iframe src 是反应式的(使用 Vue),所以当它尝试更新到新的 src 时,我的浏览器会因为我网站上的引荐来源网址政策而阻止它。我已经用默认为“no-referrer”的浏览器对此进行了测试,它会加载,但不幸的是,chrome 默认采用严格的推荐人策略。
我正在使用 Flask 来处理路由,所以我想有一种方法可以轻松地改变它,但我发现没有。我找到了Flask-Talisman,但这个扩展的默认设置非常严格,理想情况下我想要一种更轻量级的方式来改变这个策略。
这是我希望拥有无推荐人策略的页面的路由处理:
@app.route('/scene_build')
def sceneBuilder():
resp = Response(render_template('scene_build.html', profile = session['userData']))
resp.headers["Referrer-Policy"] = 'no-referrer'
return resp