13 其他

插件

  • httprequester - firefox
  • postman

设置

DRF在django中使用 REST_FRAMEWORK设置全局参数

  1. REST_FRAMEWORK = {
  2. 'DEFAULT_RENDERER_CLASSES':(
  3. 'rest_framework.renderers.JSONRenderer',
  4. ),
  5. 'DEFAULT_PARSER_CLASSES': (
  6. 'rest_framework.parsers.JSONParser',
  7. )
  8. }

访问DRF设置

  1. from rest_framework.settings import api_settings
  2. print(api_settings.DEFAULT_AUTHENTICATION_CLASSES)

关闭 DRF 浏览器API

  1. # 参考地址:https://stackoverflow.com/questions/11898065/how-to-disable-admin-style-browsable-interface-of-django-rest-framework
  2. # 仅在开发中启用 浏览器API
  3. DEFAULT_RENDERER_CLASSES = (
  4. 'rest_framework.renderers.JSONRenderer',
  5. )
  6. if DEBUG:
  7. DEFAULT_RENDERER_CLASSES = DEFAULT_RENDERER_CLASSES + (
  8. 'rest_framework.renderers.BrowsableAPIRenderer',
  9. )
  10. REST_FRAMEWORK = {
  11. 'DEFAULT_PERMISSION_CLASSES': (
  12. 'rest_framework.permissions.IsAuthenticatedOrReadOnly',
  13. ),
  14. 'DEFAULT_RENDERER_CLASSES': DEFAULT_RENDERER_CLASSES
  15. }

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’ 的配置中:

  1. Header always append X-Frame-Options SAMEORIGIN

配置 Nginx

配置 nginx 发送 X-Frame-Options 响应头,把下面这行添加到 ‘http’, ‘server’ 或者 ‘location’ 的配置中:

  1. add_header X-Frame-Options SAMEORIGIN;