Feathers 安全¶
我们非常重视Feathers的安全.我们欢迎任何同行评审我们的100%开源代码,以确保没有人的Feathers应用程序遭到入侵或黑客入侵.作为Web应用程序开发人员,您应对任何安全漏洞负责.我们尽最大努力确保Feathers尽可能安全.
我应该在哪里报告安全问题?¶
为了让社区有时间回复和升级,我们强烈建议您向我们报告所有安全问题.请发送给我们一个PM的 Slack 或发送电子邮件至hello@feathersjs.com,我们将尽快回复.安全问题始终优先于错误修复和功能工作,因此我们将与您一起制定解决方案并计划并在相应的回购中记录Github上的问题.
发布版本通常非常快.一旦问题得到解决,通常会立即使用适当的语义版本发布.
安全考虑因素¶
在编写应用程序时,您应该注意以下几点,以确保它是安全的.
确保设置正确的 事件频道, 以便只有允许查看它们的客户才能看到实时更新
使用挂钩检查安全角色,以确保用户只能访问应允许的数据.您可以在 feathers-hooks-common 和 feathers-authentication-hooks.
通过在钩子中清理
params.query, 将 查询 限制为应用程序所需的用例.如果
context.id === null则抛出错误来禁用多个元素更改.转义任何HTML和JavaScript以避免XSS攻击.
转义任何SQL(通常由SQL库完成)以避免SQL注入.
JSON Web令牌(JWT)只是签名,它们 不是 加密的.因此,可以在客户端上检查有效负载.这是设计的. 除非 先加密,否则请勿在JWT
payload中放置任何私密内容.不要为你的令牌服务使用弱的
secret. 生成器会自动为您创建一个强大的生成器.无需改变它.
我们采用的一些技术¶
XSS攻击¶
与任何Web应用程序一样,**您**需要防范XSS攻击.由于Feathers将JWT保留在浏览器的本地存储中,如果您的应用程序成为XSS攻击的受害者,攻击者可能会使用JWT代表您发出恶意请求.这远非理想.因此,您需要特别注意防止XSS攻击.我们对这个特定攻击媒介的立场是,如果您容易受到XSS攻击,那么受损的JWT是您最不担心的,因为可以记录击键,攻击者可以窃取密码,信用卡号或用户直接输入的任何其他内容.
有关更多信息,请参阅
和 这个Auth0论坛帖子.