为什么 Django 站点不能嵌入另一个 HTML(iframe)中?

2024-02-09

我尝试在另一个 html 页面中嵌入 django 表单,但它不起作用。我尝试了其他 django 网站。但没有任何效果。还对其他一些网站进行了测试。 django 是否限制在 iframe 中使用?如何让它发挥作用? 需要嵌入的表格编程竞赛形式 http://form.classof20.cf/Programming_Competition/

模板:

<form method="post">
  {% csrf_token %}
  <b>{{form.as_p}}</b>
  <input type="submit" value="Submit" title="Submit" />
</form>

尝试嵌入为:

<html>
<iframe frameborder="1" src="http://form.classof20.cf/Programming_Competition/"></iframe>
</html>

它给出了一个边界,里面什么也没有。


这是尝试加载 HTML 后 webkit 检查器中的错误:

Refused to display 'http://form.classof20.cf/Programming_Competition/' in a frame because it set 'X-Frame-Options' to 'sameorigin'.
Failed to load resource: net::ERR_BLOCKED_BY_RESPONSE

事实上,这里是curl 的响应头转储:

$ curl -I http://form.classof20.cf/Programming_Competition/

HTTP/1.1 200 OK
Server: nginx/1.10.3 (Ubuntu)
Date: Wed, 06 Sep 2017 19:44:16 GMT
Content-Type: text/html; charset=utf-8
Content-Length: 765
Connection: keep-alive
Vary: Cookie
X-Frame-Options: SAMEORIGIN
Set-Cookie: csrftoken=UJZltdTzJMe6961QMNRSgZ7vKWa1vUEf2lEB8lmaaZXgROf1zyALsuwsKpvtcby6; expires=Wed, 05-Sep-2018 19:44:16 GMT; Max-Age=31449600; Path=/

那么,它从哪里来?它来自Django 点击劫持保护 https://docs.djangoproject.com/en/1.11/ref/clickjacking/.

解决方案 0:确保你的 django 响应允许您在 X-Frame-Options 中使用其他站点 https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Frame-Options, ie:

X-Frame-Options: ALLOW-FROM http://your-other-site-which-embeds/

解决方案 1:使您的表单视图免受点击劫持保护:

使用中间件时可能会出现一些你不知道的视图 想要设置 X-Frame-Options 标头。对于这些情况,您可以使用 告诉中间件不要设置标头的视图装饰器:

from django.http import HttpResponse
from django.views.decorators.clickjacking import xframe_options_exempt

@xframe_options_exempt
def ok_to_load_in_a_frame(request):
    return HttpResponse("This page is safe to load in a frame on any site.")
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么 Django 站点不能嵌入另一个 HTML(iframe)中? 的相关文章

  • Twitter 卡元标签问题

    有问题的网址 https www halleonard com viewpressreleasedetail action releaseid 10261 https www halleonard com viewpressreleased
  • 将图像作为框架放置在 iframe 周围?

    我有一个网站尝试以移动格式显示 但在宽屏幕上 我确信 iframe 是正确的选择 我正在尝试将 iframe 加载到 iPhone 的图像中 你可以看一个例子here http webfro gs south tour iframe tes
  • 图像无法在带有 DOM 的 IE 中加载:控制台中的 7009 错误(无法解码)

    当在 IE 中的单个页面上加载许多图像时 在 IE11 中重现 其中一些图像开始加载失败 并在控制台中出现类似以下警告的内容 DOM7009 无法解码 URL 处的图像 某些唯一的 url 当我查看网络流量时 似乎确实从服务器收到了每个图像
  • OpenCV 无法从 MacBook Pro iSight 捕获

    几天后 我无法再从 opencv 应用程序内部打开我的 iSight 相机 cap cv2 VideoCapture 0 返回 并且cap isOpened 回报true 然而 cap grab 刚刚返回false 有任何想法吗 示例代码
  • 如何使用 OpencV 从 Firebase 读取图像?

    有没有使用 OpenCV 从 Firebase 读取图像的想法 或者我必须先下载图片 然后从本地文件夹执行 cv imread 功能 有什么办法我可以使用cv imread link of picture from firebase 您可以
  • 重定向并保留我的图标

    我想知道当您单击 facebook 上的链接时 facebook 重定向如何保留其 favicon 并使用 FB favicon 打开新选项卡 我想知道如何实现这一点 它不是 iframe 所以我怎么能做这样的事情 我应该从哪里开始 当重定
  • 在Python中获取文件描述符的位置

    比如说 我有一个原始数字文件描述符 我需要根据它获取文件中的当前位置 import os psutil some code that works with file lp lib open path to file p psutil Pro
  • Django admin - 更改权限列表

    是否可以更改用户编辑页面中的权限列表 我不想显示所有权限 例如管理日志条目或身份验证组等 如何修改主查询集以排除其中的某些查询集 我的想法来自这个话题 https groups google com forum topic django u
  • 如何在Python中对类别进行加权随机抽样

    给定一个元组列表 其中每个元组都包含一个概率和一个项目 我想根据其概率对项目进行采样 例如 给出列表 3 a 4 b 3 c 我想在 40 的时间内对 b 进行采样 在 python 中执行此操作的规范方法是什么 我查看了 random 模
  • 页面上使用 HTML Editor Extender 进行回发会导致 IE11 中出现 JavaScript 错误

    我已将 HTML 编辑器扩展程序添加到我正在处理的页面中 现在每当我在页面上发回帖子时 都会收到以下 Javascript 错误 JavaScript 运行时错误 参数无效 之后什么也没有发生 这在 IE10 或更低版本以及我所知道的所有其
  • 如何在seaborn displot中使用hist_kws

    我想在同一图中用不同的颜色绘制直方图和 kde 线 我想为直方图设置绿色 为 kde 线设置蓝色 我设法弄清楚使用 line kws 来更改 kde 线条颜色 但 hist kws 不适用于显示 我尝试过使用 histplot 但我无法为
  • 每个 X 具有多个 Y 值的 Python 散点图

    我正在尝试使用 Python 创建一个散点图 其中包含两个 X 类别 cat1 cat2 每个类别都有多个 Y 值 如果每个 X 值的 Y 值的数量相同 我可以使用以下代码使其工作 import numpy as np import mat
  • 解释 Python 中的数字范围

    在 Pylons Web 应用程序中 我需要获取一个字符串 例如 关于如何做到这一点有什么建议吗 我是 Python 新手 我还没有找到任何可以帮助解决此类问题的东西 该列表将是 1 2 3 45 46 48 49 50 51 77 使用
  • Conda SafetyError:文件大小不正确

    使用创建 Conda 环境时conda create n env name python 3 6 我收到以下警告 Preparing transaction done Verifying transaction SafetyError Th
  • 在 HTML 下拉列表中有一个滚动条

    我正在寻找一种在 HTML 的下拉列表中添加滚动条的方法 这样如果下拉列表包含的内容超过例如 5 项 将出现滚动条以查看其余项 这是因为我将被迫列出一些大清单 过去几个小时我一直在谷歌上搜索它 但没有运气 它需要适用于 IE8 FF 和 C
  • 使用css bootstrap时如何仅向一列添加右边框?

    我正在尝试使用CSS引导框架 http getbootstrap com css tables在我的项目中 我正在使用带有以下类的表table table bordered table striped 我想删除除第一列之外的所有列的边框 这
  • 发送用户注册密码,django-allauth

    我在 django 应用程序上使用 django alluth 进行身份验证 注册 我需要创建一个自定义注册表单 其中只有一个字段 电子邮件 密码将在服务器上生成 这是我创建的表格 from django import forms from
  • 使用 Python 的 matplotlib 选择在屏幕上显示哪些图形以及将哪些图形保存到文件中

    我想用Python创建不同的图形matplotlib pyplot 然后 我想将其中一些保存到文件中 而另一些则应使用show 命令 然而 show 显示all创建的数字 我可以通过调用来避免这种情况close 创建我不想在屏幕上显示的绘图
  • HTML 锚点,禁用样式

    我有一些 html 锚链接代码 与文档的其余部分不同 我希望它看起来不是链接 有没有一种简单的方法可以禁用由于将文本包装在锚标记中而引起的样式更改 而不必强行使其相同 即 如果我更改正文字体样式 我不必也更改其他一些 link东西 将颜色设
  • NotImplementedError:无法将符号张量 (lstm_2/strided_slice:0) 转换为 numpy 数组。时间

    张量流版本 2 3 1 numpy 版本 1 20 在代码下面 define model model Sequential model add LSTM 50 activation relu input shape n steps n fe

随机推荐

  • 为什么Android布局中的Fragment元素用小写的“f”书写?

    所有其他元素都以大写字母开头 例如RelativeLayout TextView 等 Fragment 元素始终用作
  • 具有 32/16 位除法的处理器上的 64/32 位除法

    我的处理器 http www microchip com wwwproducts Devices aspx dDocName en532298 一个没有 FPU 和整数数学的小型 16 位微控制器 只有 16 16 除法和 32 16 除法
  • 将输入传递给 Angular 2 中的嵌套组件

    如何将属性从包装组件透明地转换为嵌套组件 考虑到有 const FIRST PARTY OWN INPUTS const FIRST PARTY PASSTHROUGH INPUTS all attrs are passed Compone
  • Angular ui 引导程序未加载

    我从示例页面获取所有内容 基本上没有什么不同 控制器和 html 正文是从手风琴示例中纯粹复制粘贴的https angular ui github io bootstrap https angular ui github io bootst
  • 如何更改加载浏览器外 Silverlight 3 应用程序的背景颜色?

    在浏览器外运行 Silverlight 3 应用程序时 启动需要一点时间 但时间足够长 足以引起人们的注意 在此启动期间 托管应用程序的窗口的背景显示丑陋的白色背景颜色 在浏览器中运行时 我们有一个启动屏幕 但它当然是通过 JavaScri
  • 查找 bash 中第一列中每个不同值的第 n 列中的最大值

    我有一个 3 列文件 我想找到第三列的最大值 其中行与第一列相同 并且输出中还有第二列 Input 1 234 0 005 1 235 0 060 1 236 0 001 2 234 0 010 2 235 0 003 2 236 0 00
  • 在同一场景中加载新的 fxml

    我有 2 个 fxml 文件 布局 标题 菜单栏和内容 Anchorpane 它应该放置在其他 fxml 文件的内容中 我想知道如何从 Master 场景加载内容空间内的第二个文件 在 javaFX 中工作是一件好事还是加载新场景更好 我正
  • 如何显示视频路径中的视频缩略图?

    我想在 ImageView 中显示存储上视频路径的视频缩略图 是否有一个函数可以获取视频路径并返回缩略图的位图 我通过以下代码获取视频路径 public ArrayList
  • F# 可变列表为空

    当我尝试运行下面的代码时 属性为空 这是为什么 我为属性分配了一个空列表 但第一次通过循环时 它为空 这会导致它删除我附加到它的第一个值 我也不明白这一点 似乎与 null 连接的值应该是该值的列表
  • Grep正则表达式查找可变长度字符串中的数字

    我需要某种方法来查找包含字符和数字的任意组合的单词 但是仅恰好 4 位数字 以及至少一个字符 EXAMPLE a1a1a1a1 Match 1234 NO match no characters a1a1a1a1a1 NO match ab
  • 将自定义包添加到 Azure 机器学习工作室

    我需要使用 azure 机器学习工作室上的函数 tsCV 来评估预测模型 但出现错误 could not find function tsCV 我正在尝试更新预测包 但未加载任何包 我按照这个教程http blog revolutionan
  • 简单的伪随机算法

    我需要一个伪随机生成器 它将一个数字作为输入并返回另一个数字 该数字是可再现的并且似乎是随机的 每个输入数字应与一个输出数字完全匹配 反之亦然 相同的输入数字总是导致相同的输出数字 靠近的连续输入数字 例如 1 和 2 应该产生完全不同的输
  • 为 i18n 设计属性?

    如何翻译 Devise 模型的属性 例如 session email or session remember me 两个层次结构 de devise sessions email E Mail and de activerecord att
  • Java中的“自动递增”字母表?

    Java 中的 自动增量 字母表 这可能吗 从头到尾没有第三方库 是的 你可以这样做 for char alphabet A alphabet lt Z alphabet System out println alphabet 也可以通过类
  • 在同一查询中混合 HQL 和 SQL

    我正在尝试在同一个查询中混合 HQL 和 SQl 喜欢使用 来自 Object 对象 TABLE B tbl 其中 obj simeProp tbl COLUMN 因为我的客户需要修改查询 学习 HQL 或映射未映射的表是不可能的 如果不是
  • SQL,缺少结尾,但为什么呢?

    我对 mySQL 过程有疑问 MySQL Workbench 建议我它错过了我的第一个 SET 的 结束 但没有错过第二个 SET 的 结束 我不知道为什么 DELIMITER drop procedure if exists pay10p
  • 使用 zxing 解码时返回图像中的条形码位置

    在我当前的项目中 我需要知道如何使用 zxing 获取图像中条形码的位置 以像素或像素范围为单位 我的图像源是 Kinect v2 主要目的是将条形码与车身框架关联起来 这需要位置信息 我使用的是标准 Kinect v2 SDK 和 Vis
  • 使用 VS Android 模拟器运行调试时 Xamarin Forms Android 应用程序崩溃

    我创建了一个基本的 Xamarin Forms 应用程序 它在 iOS 模拟器上运行良好 然而 当我尝试使用 VS Android 模拟器 5 1in Marshmallow 运行时 它每次打开时都会崩溃 即使我尝试在没有调试的情况下运行
  • 使用 Java2D 绘制多个圆

    我正在尝试使用Java2D 进行一些简单的图形编程 我开始很简单 只是尝试在 JFrame 中显示几个圆圈 我成功显示了一个圆圈 但是当添加第二个圆圈时 仅显示添加到 JFrame 的最后一个圆圈 我使用 Circle 类来定义我的圆并重写
  • 为什么 Django 站点不能嵌入另一个 HTML(iframe)中?

    我尝试在另一个 html 页面中嵌入 django 表单 但它不起作用 我尝试了其他 django 网站 但没有任何效果 还对其他一些网站进行了测试 django 是否限制在 iframe 中使用 如何让它发挥作用 需要嵌入的表格编程竞赛形