首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >确保提交表格的公共端点

确保提交表格的公共端点
EN

Stack Overflow用户
提问于 2022-03-17 21:42:09
回答 1查看 94关注 0票数 0

我有一个next.js静态网站,有一些形式,如联系,工作申请等。我们的后端是.NET 4.6。由于这些表单是公开的,API端点(Web服务)基本上没有身份验证,任何人都可以使用Postman这样的工具进行请求。如何确保这些端点的安全?我想到了我能做的几件事:

  1. 加密这些请求的有效负载,然后在后端对它们进行解密,然后再处理它。这样做的想法是,如果其他人可以看到端点url,他们仍然不能正确地加密数据,并且端点会拒绝它。问题是,前端用于加密有效载荷的密钥可以使用dev工具进行检查,然后任何人都可以正确发送加密的有效载荷。

  1. 在后端,检查请求头,以确保引用或原始标题指向我的网站。现在的问题是,有一些工具可以帮助您模仿成功的请求标头,这意味着有人可以用正确的标头欺骗请求。

使这些端点安全的最佳方法是什么?是否有一种方法,我可以限制我的网站,以便能够要求它?或者有一种方法可以在客户端隐藏加密密钥?对于我如何处理这个问题,还有其他的建议吗?

EN

回答 1

Stack Overflow用户

发布于 2022-03-19 22:42:41

由于您的API是公共的,而生成有效负载的HTML是公共的,所以实际上无法保证安全性。但是,您可以通过使用以下步骤来增加难度

  1. 请求要在表单提交

期间发送的令牌

代码语言:javascript
复制
- When this token is requested, log the requestor's IP
- Limit how many requests per IP can be allowed per hour (may be 5?)

  1. 传递从#2

中从#1获得的令牌

代码语言:javascript
复制
- When the form is submitted, verify that the token's requestor IP and current request IP Match
- Check if there are other form submissions from the same IP in a given timeframe, if so, reject the request.

您只需限制每个IP每小时提交多少次。虽然这不会阻止攻击,但它会减慢他们的速度,使他们移动到更容易的目标。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71519348

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档