所以,首先,一个要点(如果下面的文本不清楚)-https://gist.github.com/chozabu/86b60caa0ce211f232da
基本上,让任何客户机向我的服务器传递一些dict(用于筛选、排除和排序)并用少量代码加载我的API似乎相当简单,这些代码还支持我没有想到的未来复杂查询!你知道吗
客户机可以要求posts that have tax X but not tag Y within a date range and a rating greater than Z
或几乎任何其他内容(统计聚合除外)。
查询dict可以如下所示:
{
'filters : [{ post__stats__score__gte : 0.3 }],
'sort_by' : 'post__author__created_at' '
}
我担心的是,客户可能会滥用这一点,只过滤有特定电子邮件、pw散列或我没有想到的东西的人。你知道吗
你认为通过小心地使用黑/白列表来实现这样的安全性是可行的吗?或者更改查询服务器端以排除客户端不应查看的任何数据?你知道吗
FWIW,我目前的计划是用django rest框架构建一个系统,只有在需要的时候才添加这样的东西作为额外的选项,我可以找到一种方法使它安全。你知道吗
在DRFs筛选页面的底部:http://www.django-rest-framework.org/api-guide/filtering/
有一些第三方扩展,如
这似乎是解决这个确切需求的扩展(我对核心DRF也不感到惊讶!)你知道吗
编辑:Alasdair在上面评论了类似的功能在1.2.4版本中从django admin中删除,并使用白名单来确保安全性
所以,我想我最初的问题的答案真的是“是的,只要你知道你在做什么,并且小心-可能使用白名单而不是黑名单”
相关问题 更多 >
编程相关推荐