Jacky's Blog Jacky's Blog
  • 首页
  • 关于
  • 项目
  • 大事记
  • 留言板
  • 友情链接
  • 分类
    • 干货
    • 随笔
    • 项目
    • 公告
    • 纪念
    • 尝鲜
    • 算法
    • 深度学习
  • 2
  • 0

Cydia 与 X-Frame-Options

Jacky
15 4 月, 2017

这是开发 DCRMv4 踩过的最大的一个坑 😛

4 月8 日

Cydia 与 X-Frame-Options-Jacky's Blog

因为是在应用内,没有办法直接检查问题

下午,使用抓包来查问题

Cydia 与 X-Frame-Options-Jacky's Blog

最开始发现有个 Referer 在 Header 中,误认为是服务器防盗链的配置问题

Cydia 与 X-Frame-Options-Jacky's Blog

后来删了防盗链之后依然没有解决,将描述页面调到内网的 DCRM 页面进行测试

发现问题依旧,每次都是只下载完 HTML 后,不解析不显示,不请求其他任何静态文件

于是想到 iOS WebView 调试,然而 Cydia 里并不支持这玩意,又找到 ios_webkit_debug_proxy 这个神奇的工具,然而还是不能将 Cydia 里的页面映射出来

场面一度陷入尴尬,就先返校了

Cydia 与 X-Frame-Options-Jacky's Blog

4 月 14 日晚上回家,又重新进行抓包测试,注意到了以前一直没有研究过的 Header: X-Frame-Options: SAMEORIGIN

立即搜集到了相关资料

X-Frame-Options 属性:

  1. DENY:浏览器拒绝当前页面加载任何 Frame 页面
  2. SAMEORIGIN:frame 页面的地址只能为同源域名下的页面
  3. ALLOW-FROM:origin 为允许 frame 加载的页面地址

于是不抱着任何希望的把 settings.py 里的
django.middleware.clickjacking.XFrameOptionsMiddleware 注释掉了,重新访问页面

Cydia 与 X-Frame-Options-Jacky's Blog

问题解决了

Cydia 与 X-Frame-Options-Jacky's Blog

后记

去除 django.middleware.clickjacking.XFrameOptionsMiddleware 只是一种临时的解决方法
搜寻了 Django 的官方文档,在不删除这一段的情况下,用下面的方法解决了这个问题

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.")

关于更多的用法与解析可以看:https://docs.djangoproject.com/en/dev/ref/clickjacking/

文章最后修订于 2020年4月7日

2
本文系作者 @Jacky 原创发布在 Jacky's Blog。未经许可,禁止转载。
Django 局域网内访问
上一篇
Centos 上部署 Django 基本环境
下一篇

评论 (0)

再想想
暂无评论

近期评论

  • Jacky 发表在《留言板》
  • 菜鸟 发表在《留言板》
  • merlin 发表在《留言板》
  • orz 发表在《Xcode 中使用 Clang-format》
  • Jacky 发表在《关于》
2
Copyright © 2016-2025 Jacky's Blog. Designed by nicetheme.
粤ICP备16016168号-1
  • 首页
  • 关于
  • 项目
  • 大事记
  • 留言板
  • 友情链接
  • 分类
    • 干货
    • 随笔
    • 项目
    • 公告
    • 纪念
    • 尝鲜
    • 算法
    • 深度学习

搜索

  • Mac
  • Apple
  • OS X
  • iOS
  • macOS
  • Linux
  • 阿里云
  • WordPress
  • 运维
  • macOS Sierra

Jacky

Go Python C C++ | 弱冠之年 | 物联网工程
183
文章
192
评论
267
喜欢