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

时间:2019-06-26 23:34:41

标签: c# reactjs rest api

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

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

Cors已启用:来源->“ ”,标头->“ ”和方法->“ *”。该应用程序可以在世界任何地方使用。

一个合作伙伴告诉我一个疯狂的主意,当使用公共端点时,无论端点如何使用,都将从端点重定向到带有验证码的网页,并且端点等待,直到验证码成功,然后它将继续进行交易。

1 个答案:

答案 0 :(得分:3)

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

验证码重定向不会真正帮助您:您将无法在应用程序中无缝使用API​​:只需在浏览器中单击“开发人员工具”,每个人都可以按字节顺序调用它。字节与在您的应用中使用时相同。

最可能的最简单的解决方案是创建某种auth&auth:为解决无法解决的问题而追逐解决方案,这肯定会导致您花费大量的时间,头痛和安全漏洞。 / p>