2016-07-11 21 views
1

Ich wollte Content Security Policy (CSP) auf meine Seite einstellen, die eine Paypal-Schaltfläche hat, die gif image von https://www.paypalobjects.com enthält. Ich habe sie in meine img-src-Whitelist aufgenommen.Inhaltssicherheitsrichtlinie mit Paypal-Taste

 <input type="image" src="https://www.paypalobjects.com/en_GB/SG/i/btn/btn_buynowCC_LG.gif" border="0" name="submit" alt="PayPal – The safer, easier way to pay online."> 

Aber das Bild wird dann umleiten vorübergehend auf zufällige Domains wie https://akamai.mathtag.com, https://ak1s.abmr.net

Wie soll ich CSP eingestellt, dass img-src enthält auch Domains umleiten. Ich kenne nicht alle Weiterleitungsbereiche.

+1

Warum kopieren Sie das Bild nicht auf Ihren Server und servieren es von dort? – SilverlightFox

+0

Guter Punkt. Ich dachte, dass sie aus Sicherheitsgründen benötigt werden. –

Antwort

0

CSP erfordert, dass Sie die Domänen kennen, auf die Sie Inhalte verweisen, was eine seiner Schwächen ist.

Um um das zu bekommen, gibt es ein paar Dinge, die Sie tun können:

  1. Entfernen Sie die img src-weiße Liste von CSP zusammen. Das klingt suboptimal, aber wenn jemand nicht in der Lage ist, Ihren Server direkt zu kompromittieren (in diesem Fall könnte er den CSP-Header ändern), oder er kann einen Cross-Site-Scripting-Angriff auf Ihrer Site ausnutzen, ist der img-src keine große Sorge. Ich würde mir mehr Sorgen um den Abschnitt script-src machen, der bei korrekter Implementierung wahrscheinlich verhindern würde, dass nicht autorisierte Bilder trotzdem geladen werden.
  2. Erstellen Sie einen Whitelist-basierten Proxy für CSP-Zwecke. Im Grunde fordert der Browser das Bild von Ihrem Server an, und Ihr Server ruft dann die Bilder im Back-End ab, verfolgt die Weiterleitungen, speichert das Bild zwischen und sendet es an den Benutzer zurück.
  3. Wie SilverlightFox sagte, könnten Sie das Bild auch direkt auf Ihren Servern speichern. Dies könnte problematisch sein, wenn Sie jemals auf andere Bilder zugreifen müssen, die einem so strikten CSP nicht entsprechen. Auch wenn sich das Kauf-Button-Bild ändert und Sie es nicht bemerken/nicht aktualisiert haben, könnte dies bei potenziellen Kunden, die den neuen Kauf-Button an anderer Stelle gesehen haben, Verdacht schüren.

Hoffe, dass hilft!

0

Bitte beachten Sie, Paypal besagt, dass Sie nur die Kasse Taste hotlink sollte und es anderswo nicht speichern:

PayPal erfordert, dass Sie die PayPal-Schaltfläche Check out verwenden und die PayPal-Markenbild auf sichere PayPal-Servern gehostet .

Obtaining an Express Checkout Button and PayPal Mark

Es ist unklar, wie erzwungen dieser ist.