【发布时间】:2016-07-19 00:15:50
【问题描述】:
我正在尝试使用 Lift 3 和 lift-ng (Angular) 实现一个基本的聊天应用程序。大多数情况下,这是有效的。但是,我在(服务器端)日志中收到此警告:
[qtp1721931908-24] 警告 net.liftweb.http.ContentSecurityPolicyViolation - 得到一个内容 我们无法解释的安全违规报告: 'Full({"csp-report":{"document-uri":"http://localhost:8081/","referrer":"","violated-directive":"script-src '不安全评估' 'self'","有效指令":"script-src","original-policy":"default-src '自己'; img-src *; script-src 'unsafe-eval' 'self';样式-src'自我' '不安全的内联';报告-uri /lift/content-security-policy-report","blocked-uri":"inline","status-code":200}})'。
我想知道的是如何追踪导致违规的原因?我很不清楚代码或绑定的哪一部分可能会出现,或者如何缩小范围而不必煞费苦心地注释掉代码库的每个部分。
我可以通过在我的Boot.scala 中设置这个SecurityRule 轻松摆脱违规:
LiftRules.securityRules = () => {
SecurityRules(content = Some(ContentSecurityPolicy(
scriptSources = List(ContentSourceRestriction.Self,
ContentSourceRestriction.UnsafeInline,
ContentSourceRestriction.UnsafeEval)
)))
}
但是,我想避免使用不安全的内联/评估。
【问题讨论】:
标签: lift content-security-policy