打开附加到数据库的REST API - 什么阻止了一个糟糕的演员垃圾邮件我的数据库?

问题描述 投票:0回答:1

我是一名客户端开发人员,对服务器端的经验很少,而且我很难理解如何在不要求用户登录的情况下创建数据库支持的网站。

用例非常简单。用户登陆网站,上传图像,并对该图像执行一些处理。单击“共享”将JSON POST到我的端点,将其存储在数据库中,然后在文本框中返回一个唯一的URL(例如,https://example.com/art/12345),允许用户与其他人共享他们的作品,或者只是为了以后再回来做更多的编辑上。

是什么阻止了某人做,POST <data> https://example.com/art 1亿次并填写我的现收现付数据库?

我已经看到了这种基于链接的方法在大量网站上的用户之间共享的示例,但我不明白如何停止滥用,或者只是打开一个允许写入数据库的API是安全的。我不希望用户必须登录。

rest http web server crud
1个回答
1
投票

我认为最简单的方法是通过登录用户的用户名或IP来获得配额,如果您不需要登录或只想允许免费使用某个点。也许您可以为未登录的用户提供比登录用户更小的配额,对付费用户更大。

处理POSTS并将数据存储到数据库中的服务器端代码必须处理这个问题。我将它添加到我的user_data表中,创建一个追踪总空间的附加列。做一个待办事项

然后,当用户添加新数据时,增加使用的总空间。当他们删除旧数据时(我已经对网页进行了版本化,最终用户将能够回滚到以前的版本),那么使用的空间就会减少。有另一个页面来查看他们在哪里使用空间会决定删除哪些内容以便更容易保持在X MB / GB / TB /的配额之下,或者只是/ api / delete_old_pages或注释或评论或所有以上。

© www.soinside.com 2019 - 2024. All rights reserved.