13 其他
插件
- httprequester - firefox
- postman
设置
DRF在django中使用 REST_FRAMEWORK设置全局参数
REST_FRAMEWORK = {
'DEFAULT_RENDERER_CLASSES':(
'rest_framework.renderers.JSONRenderer',
),
'DEFAULT_PARSER_CLASSES': (
'rest_framework.parsers.JSONParser',
)
}
访问DRF设置
from rest_framework.settings import api_settings
print(api_settings.DEFAULT_AUTHENTICATION_CLASSES)
关闭 DRF 浏览器API
# 参考地址:https://stackoverflow.com/questions/11898065/how-to-disable-admin-style-browsable-interface-of-django-rest-framework
# 仅在开发中启用 浏览器API
DEFAULT_RENDERER_CLASSES = (
'rest_framework.renderers.JSONRenderer',
)
if DEBUG:
DEFAULT_RENDERER_CLASSES = DEFAULT_RENDERER_CLASSES + (
'rest_framework.renderers.BrowsableAPIRenderer',
)
REST_FRAMEWORK = {
'DEFAULT_PERMISSION_CLASSES': (
'rest_framework.permissions.IsAuthenticatedOrReadOnly',
),
'DEFAULT_RENDERER_CLASSES': DEFAULT_RENDERER_CLASSES
}
header设置
X-Frame-opiotns
http 响应头 header 用来给浏览器指示允许一个页面可否在<frame>, <iframe>, <object>
中展现的标记
网站可以使用此功能,来确保自己网站的内容没有被嵌入别人的网站中去,也从而避免了点击劫持(clickjacking)的攻击。
设置不当,前端/浏览器看到的页面是空白
X-Frame-opiotns有三个值:
- DENY 不允许在frame中展示,即使在相同域名的页面中
- SAMEORIGIN 可以在相同域名页面的frame中
- ALLOW-FROM uri 指定来源的frame中展示
换一句话说,设置为DENY时,不光在别人的网站frame无法加载,在同域名页面中也无法加载。另一方面设置为SAMEORIGIN,那么页面就可以在同域名frame页面中嵌套。
配置 Apache
配置 Apache 在所有页面上发送 X-Frame-Options 响应头,需要把下面这行添加到 ‘site’ 的配置中:
Header always append X-Frame-Options SAMEORIGIN
配置 Nginx
配置 nginx 发送 X-Frame-Options 响应头,把下面这行添加到 ‘http’, ‘server’ 或者 ‘location’ 的配置中:
add_header X-Frame-Options SAMEORIGIN;