2016-05-13 17 views
2

Ich habe eine Situation, in der Benutzer CSS für bestimmte Bereiche der Site definieren können, die sie pflegen. Sie können Remote-Ressourcen in dieses Dokument einfügen und anschließend IP-Anforderungen protokollieren, die von Gastbenutzern, die ihre Seiten besuchen, an diese Ressourcen gesendet werden.Können Sie die Same-Origin-Richtlinie strenger festlegen?

Ohne ein Reinigungssystem hinzuzufügen, das Remote-URLs filtert, gibt es eine Möglichkeit, den Client anweisen, keine ANY ausländische Anfragen zu machen? Meine Website ist zu 100% im Ursprung und macht keine ausländischen CDN-Anfragen. Ich will es im Grunde so, dass jede ausländische Anfrage blockiert wird.

Antwort

3

Content Security Policy kann die Ressourcen begrenzen, die in der Site enthalten sein können.

Zum Beispiel würde dies die Seite begrenzen Skripte aus der eigenen Domäne nur zu laden und von Google-Domain

Content-Security-Policy: script-src 'self' https://apis.google.com 

Weitere Optionen, einschließlich der für die Beladung Arten

  • style-src ist Pendant Skript-src für Stylesheets.
  • connect-src begrenzt die Ursprünge, auf die Sie (über XHR, WebSockets und Eventsource) verbinden kann
  • frame-src Verwenden Kind-src statt.
  • img-src definiert die Ursprünge, aus denen Bilder geladen werden können.
  • media-src schränkt die erlaubten Quellen für die Übertragung von Video und Audio ein.
+0

Kein schlechter Vorschlag, aber kaum kugelsicher. Es liegt an dem Browser, dies zu erzwingen und ein entschlossener "Angreifer" könnte leicht einen [Browser verwenden, der dies nicht unterstützt] (http://caniuse.com/#feat=contentsecuritypolicy). – Michael

+0

Nun ja, es liegt an dem Browser, um sichere Software zu sein oder nicht. Wenn ein Benutzer einen unsicheren Browser verwendet, ist dies eine Entscheidung, die er getroffen hat. Wie wichtig ist, welchen Browser ein Angreifer benutzt? – C14L

+0

Ausgezeichnet, danke. – Josh