管理站点的内容安全策略

内容安全策略 (CSP) 是一个额外的安全层,有助于检测和缓解某些类型的 Web 攻击,如数据盗窃、站点污损或恶意软件分发。 CSP 提供了一组广泛的策略指令,可帮助控制允许站点页面加载的资源。 每个指令定义特定资源类型的限制。

为 Power Pages 站点启用 CSP 后,它通过阻止来自未知或恶意来源的连接、脚本、字体和其他类型的资源来帮助提高站点的安全性。

CSP 默认关闭。 但是,网站可能需要 CSP 来增强其他安全性。

使用门户管理应用来管理 CSP。

设置站点的 CSP

  1. 登录 Power Pages,打开您的站点进行编辑。

  2. 在左侧面板中,选择更多项目 () >门户管理

  3. 在“门户管理”应用的左侧面板中,选择站点设置

  4. 创建或编辑 HTTP/Content-Security-Policy 站点设置。

  5. CSP 参考设置所需的值,使用分号分隔;例如,script-src 'self' https://js.example.com;style-src 'self' https://css.example.com

打开随机数

随机数表示一个代码,通常是数字,只能使用一次(“一次性数字”)。 当您在站点的 CSP 中使用随机数时,会生成一个唯一的密码,并将其添加到 CSP 标头中指定的每个脚本中。 只有随机数属性与 CSP 中的随机数属性匹配的内联脚本可以运行。 攻击者可能已注入页面的脚本会被阻止,因为它们不包括随机数属性。 了解有关将随机数与 CSP 结合使用的详细信息

在 Power Pages 站点中,随机数仅支持内联脚本和内联事件处理程序。

要为您的站点打开随机数,将 script-src 'nonce'; 值添加到 HTTP/Content-Security-Policy 站点设置。 下面提供了几个示例。

  • 如果您需要一个严格的策略,不允许脚本从 Power Pages 站点之外的源加载,将以下值添加到 HTTP/Content-Security-Policy 站点设置:script-src 'self' content.powerapps.com 'nonce'

  • 如果您想要从任何安全来源加载脚本,添加以下值:script-src https: 'nonce'

当随机数开时,将注入 unsafe-eval 以支持不安全代码的自动评估。 要关闭 unsafe-eval 的自动注入,将站点设置 HTTP/Content-Security-Policy/Inject-unsafe-eval 更改为 False。 请记住,如果关闭 unsafe-eval 注入,对基本多步窗体上自动生成的字段的验证可能无法再正常工作。