Django REST Framework:在空的ListView上的顶级JSON数组是否存在安全风险?

时间:2018-07-29 20:54:50

标签: json django security django-rest-framework

Django REST Framework在查询没有任何对象的ListView时返回似乎是空数组的内容。这是安全隐患吗?

1 个答案:

答案 0 :(得分:0)

基于 OWASP 建议,you should always return a list with an object on the outside,但这似乎只是本 post 中讨论的旧浏览器中的一个漏洞。

enter image description here

尽管如此,最好遵循 OWASP 安全建议,尽可能返回嵌套在对象内的列表。

使用 Django DRF 的通用 ListModelMixin 视图,如果您包含所有分页设置,它将返回一个带有 results 属性下的列表的具有分页属性的对象。

# settings.py
REST_FRAMEWORK = {
    ...
    'DEFAULT_PAGINATION_CLASS': 'rest_framework.pagination.PageNumberPagination',
    'PAGE_SIZE': 20,
}
# API response body

{
    "count": 12,
    "next": null,
    "previous": null,
    "results": [
        ...
    ]
}