【发布时间】:2020-02-20 06:51:03
【问题描述】:
我一直在上下搜索这个,但我找不到任何相关的东西,但是有没有一个好的解决方案可以在 graphql 突变中清理用户输入中的 html 字符?
我知道一个事实,像name: "<script>{alert('foo')}</script>" 这样的输入被graphql(在我的例子中是apollo-server-express)接受,但那不行。当然,像 React 这样的框架不会将该字符串设置为 html,因此它在那里是“安全的”,但是如果 graphql 端点被一个将字符串嵌入为 html 的站点使用呢?
所以有人知道这个问题的好解决方案吗?我看过几个包裹,但它们大多都很小,几乎没有活动。
另一种解决方案是在数据库级别进行清理,例如sanitize-html,但我想看看在架构级别是否有适当的解决方案
【问题讨论】:
标签: graphql graphql-js apollo-server