nodejs / reactjs SPA中的内容安全策略实现?

时间:2018-05-19 16:23:07

标签: node.js reactjs express create-react-app

全天候问候,

我刚开始在我的网站开发中实施CSP。 我有Nodejs / express服务器,它使用redux响应js并对路由器4做出反应 我使用了create react app for frontend

我发现在nodejs中有一个名为helmetcsp的模块,我已经实现了它们 我设法获得了响应标题,如下图enter image description here

所示

但在前端应用中没有任何事情发生,除非我添加元标记

<meta http-equiv="Content-Security-Policy" content=" frame-src 'none'">

通过此元标记,我能够成功地不在页面中加载任何iframe,但如果没有标记就无法设置

所以这是我的问题

  1. 我的应用程序中是否需要nodejs头盔模块?

  2. 如果是,那么如何将nodejs头盔模块与我的反应应用程序集成

  3. 在index.html中使用CSP的元标记是执行此操作的首选方法

    感谢任何帮助

1 个答案:

答案 0 :(得分:0)

在您的示例中,由头盔设置的标头 Http.client() .configured(new Logger(loggerFinagle).mk()); 的值为x-frame-options,在您的元标记中为'SAMEORIGIN'。他们只是有不同的价值观,这就是不同行为的原因。

只需更改配置:

'none'

始终使用HTTP标头而不是元标记。元标记只是DOM元素,因此可以被篡改。使用标题并使用标题不是那么容易,您要求浏览器遵守您的CSP。

RFC 7034:

  

此外,X-Frame-Options必须作为HTTP头字段发送   用meta代理声明时,用户代理会明确忽略它   http-equiv标签。

相关问题