如何在没有身份验证和授权方法的情况下保护公共端点

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (1)
  • 关注 (0)
  • 查看 (12)

如何防止公共端点可以在Web应用程序的上下文之外使用?

我有一个在ReactJS中开发的Web应用程序,它使用了使用Net Core 2.0在C#中开发的公共API。有些端点是公共的,这意味着这些端点不使用某种身份验证或授权方法。因此,我如何保护这些公共端点,以防止在我的Web应用程序的上下文中使用它们,例如,不使用Postman消耗端点,并防止被机器人攻击。

Cors启用:originins - >“ ”,headers - >“ ”和methods - >“*”。该应用程序可以在世界任何地方使用。

合作伙伴告诉我一个疯狂的想法,当公共端点消耗时,无论方式如何或什么,从端点重定向到带有验证码的网页,端点等待验证码成功,然后它将继续进行交易。

提问于
用户回答回答于

如果公共API不使用任何身份验证和授权,则无法控制其使用(除了类似防火墙的功能,如IP范围)。

Captcha重定向并不能真正帮助您:您失去了在应用程序中无缝使用API​​的可能性:只需在浏览器中单击“开发人员工具”,每个人都可以以逐字节相同的方式调用它从您的应用程序使用时。

最有可能最简单的解决方案是创建某种身份验证和身份验证:针对无法解决的安全问题的解决方案,根据定义不安全将花费您大量的时间,头痛和安全漏洞,而不仅仅是正确行事。

扫码关注云+社区

领取腾讯云代金券

玩转腾讯云 有奖征文活动