我不知道这是否是提出此类问题的合适平台, 但是我有一个前端(Angular)和后端/ API( Nodejs )之间分开的应用。现在,API公开了前端要使用的公共端点。现在如何保护API避免被其他方使用或利用,而仅将其保留在我的 Angular 应用中?我曾想过使用仅HTTP cookie,但是当有人在请求的标头上打开开发人员的工具时,它似乎可见。
我完全没主意了,谢谢。
答案 0 :(得分:2)
您可以使用OAuth2使用令牌来保护您的API,我不太了解,但是最佳实践是使用JWT令牌来保护nodejs。
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点
这些可能是您需要介绍的要点,这将阻止大多数机会主义的饼干