管理站点的内容安全策略
内容安全策略 (CSP) 是一个额外的安全层,有助于检测和缓解某些类型的 Web 攻击,如数据盗窃、站点污损或恶意软件分发。 CSP 提供了一组广泛的策略指令,可帮助控制允许站点页面加载的资源。 每个指令定义特定资源类型的限制。
为 Power Pages 站点启用 CSP 后,它通过阻止来自未知或恶意来源的连接、脚本、字体和其他类型的资源来帮助提高站点的安全性。
CSP 默认关闭。 但是,网站可能需要 CSP 来增强其他安全性。
使用门户管理应用来管理 CSP。
设置站点的 CSP
登录 Power Pages,打开您的站点进行编辑。
在左侧面板中,选择更多项目 (…) >门户管理。
在“门户管理”应用的左侧面板中,选择站点设置。
创建或编辑 HTTP/Content-Security-Policy 站点设置。
从 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 注入,对基本或多步窗体上自动生成的字段的验证可能无法再正常工作。