2016-03-30 13 views
1

Ich versuche eine einfache Chat-Anwendung mit Lift 3 und Lift-ng (Angular) zu implementieren. Meistens funktioniert das. Allerdings erhalte ich diese Warnung in meinem (Server-Seite) log:ContentSecurityPolicyViolation

[qtp1721931908-24] WARN net.liftweb.http.ContentSecurityPolicyViolation - Haben Sie einen Inhalt Sicherheitsverletzung Bericht, den wir nicht deuten konnte: 'Voll ({"csp-report": {"document-uri": "http://localhost:8081/", "referrer": "", "verletzte-Direktive": "script-src ' unsafe-eval ' ' self '", "effective-directive": "script-src", "Original-Richtlinie": "default-src 'self'; img-src *; script-src 'unsafe-eval' 'self'; style-src 'self' 'unsafe-inline'; report-uri /lift/content-sicherheitspolitik-bericht "," blocked-uri ":" inline "," statu S-Code ": 200}}) '.

Was ich möchte wissen, ist wie nach unten zu verfolgen, was diese Verletzung verursacht? Ich bin ziemlich unklar, welcher Teil des Codes oder der Bindung möglicherweise auftauchen wird, oder wie man es eingrenzen kann, ohne jeden einzelnen Teil der Codebasis sorgfältig auskommentieren zu müssen.

ich leicht von der Verletzung zu befreien durch die Einrichtung diesen SecurityRule in meinem Boot.scala bekommen kann:

LiftRules.securityRules =() => { 
    SecurityRules(content = Some(ContentSecurityPolicy(
    scriptSources = List(ContentSourceRestriction.Self, 
     ContentSourceRestriction.UnsafeInline, 
     ContentSourceRestriction.UnsafeEval) 
))) 
} 

Allerdings würde Ich mag mit dem unsicheren inlining/eval zu vermeiden.

Antwort

1

Wenn Sie in der Entwicklerkonsole Ihres Browsers nachsehen, kann es einen Link zum Inline-Code enthalten. z.B.

CSP Error in Firefox Console

Als ich klickte auf "hash: 2: 0" es hat mich zu der HTML-Quelle der Seite, Zeile 2, Zeichen 0, die genau dort, wo der betreffende Code war:

inline script

Eine Sache zu beachten ist, dass viele Plugins (zB lastpass) diese Warnung generieren. Achten Sie darauf, alle Plugins während des Tests zu deaktivieren.