【问题标题】:How to secure Django Tastypie REST API which needs no credentails for POST and GET如何保护不需要 POST 和 GET 凭据的 Django Tastypie REST API
【发布时间】:2014-12-12 19:38:09
【问题描述】:

您好,当用户提交页面时,我有一个 API url,URL 将被调用,并且 POSTED 数据将通过tastepie api 保存在数据库中。

我的问题是,

在发布数据时不使用凭据,因为它是表单提交,所以当入侵者知道我的 API url 和要发布的数据时,他可以将大量数据发布到我的数据库并使其崩溃,对吗?

如何防止或已通过任何措施防止,请解释。

谢谢。

【问题讨论】:

  • 您必须对请求进行身份验证
  • 我无法验证 POST 请求,因为任何访问我网站的人都可以使用正确的数据提交它。
  • 简单地说,使用用户名和密码组合并验证它是否在服务器上。除非他们知道组合,否则他们的 POST 请求可以在服务器端无效。
  • 您是指提交表单的用户的用户名和密码或其他内容?
  • 你能告诉我这个应用到底是关于什么的吗? API 端点是否只能由您使用?还是有用户登录后做POST?

标签: python django rest https django-rest-framework


【解决方案1】:

我没有和tastepie 合作过,但他们有authentication and authorization section in their docs

【讨论】:

    【解决方案2】:

    如果您需要允许人们在没有身份验证的情况下发布,那么您无法阻止某人发布随机数据。您可以做的是限制用户,使他们不会发布那么多数据。

    http://django-tastypie.readthedocs.org/en/latest/throttling.html

    【讨论】:

    • 不是一个糟糕的解决方案。但是,这确实会破坏您数据的完整性,并且专门的黑客可以为每个请求创建一个新线程并不断使用 VPN 更改他们的 IP。
    猜你喜欢
    • 2021-05-16
    • 1970-01-01
    • 2021-10-09
    • 1970-01-01
    • 2011-11-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-01
    相关资源
    最近更新 更多