浏览器默认遵循X-Frame-Options协议头,它表明一个资源是否允许加载到frame或者iframe中。如果响应包含值为SAMEORIGIN的协议头,浏览器会在frame中加载同源请求的资源。如果协议头设置为DENY,浏览器会在加载frame时屏蔽所有资源,无论请求来自于哪个站点。
Django中提供了一些简单的方法来在你站点的响应中包含这个协议头:
(1)一个简单的中间件,在所有响应中设置协议头。如果要为你的站点中所有的响应设置相同的X-Frame-Options值,就可以将项目中settings.py文件中的添加中间件:‘django.middleware.clickjacking.XFrameOptionsMiddleware’设置为‘MIDDLEWARE’:
MIDDLEWARE = [
'django.middleware.clickjacking.XFrameOptionsMiddleware',
]
在开启该中间件之后,默认会为任何开放的HttpResponse设置X-Frame-