2016-07-11 88 views
1

我想爲我的網頁設置內容安全策略(CSP),其中有一個貝寶按鈕,其中有一個gif圖像服務於https://www.paypalobjects.com我將它包括到我的img-src白名單。內容安全政策與貝寶按鈕

 <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."> 

,但圖像然後暫時重定向到隨機域像https://akamai.mathtag.comhttps://ak1s.abmr.net

我應該如何設置CSP這樣IMG-SRC包括重定向域爲好。我不知道所有的重定向域。

+1

爲什麼不將圖像複製到服務器並從那裏提供? – SilverlightFox

+0

好點。我認爲他們是出於安全原因需要的。 –

回答

0

CSP要求您知道您正在引用內容的域,這是其弱點之一。

爲了繞開這個問題,有幾件事情你可以做:

  1. 從CSP完全消除IMG-SRC白名單。這聽起來不太理想,但除非有人能夠直接危害您的服務器(在這種情況下,他們可以修改CSP頭),或者他們能夠在您的站點上利用跨站點腳本攻擊,img-src是不是一個大問題。我會擔心更多關於script-src部分,如果正確實施,它可能會防止未經授權的圖像被加載。
  2. 爲CSP創建基於白名單的代理。基本上,瀏覽器從您的服務器請求圖像,然後您的服務器將檢索後端圖像,然後通過重定向,緩存圖像並將其返回給用戶。
  3. 正如SilverlightFox所說,你也可以直接在你的服務器上存儲圖像。如果您需要訪問不符合此類嚴格CSP的其他圖像,這可能會產生問題。此外,如果購買按鈕圖像發生變化,並且您不知道/未更新它,則可能會在潛在客戶中看到新購買按鈕的其他位置產生懷疑。

希望有所幫助!

0

請注意,貝寶指出,你應該只熱鏈接結帳按鈕,而不是將其保存在其他地方:

貝寶需要您使用支付寶查看按鈕,PayPal的標記圖像託管在安全的PayPal服務器。

Obtaining an Express Checkout Button and PayPal Mark

如何強制執行的,這是目前還不清楚。