如何保护我的App API免受外部利用?

时间:2018-09-06 06:46:15

标签: node.js angular api

我不知道这是否是提出此类问题的合适平台, 但是我有一个前端(Angular)和后端/ API( Nodejs )之间分开的应用。现在,API公开了前端要使用的公共端点。现在如何保护API避免被其他方使用或利用,而仅将其保留在我的 Angular 应用中?我曾想过使用仅HTTP cookie,但是当有人在请求的标头上打开开发人员的工具时,它似乎可见。

我完全没主意了,谢谢。

2 个答案:

答案 0 :(得分:2)

您可以使用OAuth2使用令牌来保护您的API,我不太了解,但是最佳实践是使用JWT令牌来保护nodejs。

有用的链接Creating an API authenticated with OAuth 2 in Node.js

Beer Locker: Building a RESTful API With Node - OAuth2 Server

-

答案 1 :(得分:2)

没有办法使您的站点100%安全,但是如果您覆盖了owasp前10名并提供了一些传输保护,则可以使攻击者减速,或者说服他们进入不太安全的站点。

运输保护

  • HTTPS:要么使用已配置https的解决方案(例如heroku或now.sh),要么使用letsencrypt.org

  • 身份验证-解决方案繁多,您需要确定要保护数据的重要性。 JWT是一个很好的起点,因为它是最简单且相对安全的。

OWASP攻击。

OWASP的前10名在这里: https://www.owasp.org/images/7/72/OWASP_Top_10-2017_%28en%29.pdf.pdf

您可以使用JOI,https://www.npmjs.com/package/joi之类的库并设置模式来覆盖列表的大部分内容,因此仅允许绝对必要的输入。使用有效参数的白名单,而不要使用任何字符串。

我唯一要采取的其他预防措施是使用npm库头盔https://www.npmjs.com/package/helmet。这涵盖了大多数XSS点

这些可能是您需要介绍的要点,这将阻止大多数机会主义的饼干