2016-01-20 52 views
4

我期待在購買機票和我有一個HTTP進入我的信用卡信息://頁,看起來像這樣:HTTP頁面中的HTTPS iframe,我該如何阻止?

Screenshot of Verified by Visa iframe

如果我看看源代碼,這實際上是一個帶有HTTPS源代碼的iframe,所以這實際上是安全的,但是非技術型用戶無法知道這一點。顯然,這是可怕的(即使對於技術精湛的用戶)。

現在,我的問題是,如果我是提供此iframe的網站(在此情況下爲Visa驗證),有沒有辦法可以強制現代瀏覽器不允許我的網頁用作http上的iframe ://頁面,但仍然允許它在https://頁面上用作iframe?有Visa驗證技術真的應該在這裏使用嗎?

回答

6

我期待在購買機票和我有一個HTTP進入我的信用卡信息://頁

哎喲!有人打破他們商家協議中的PCI-DSS條款吧。

如果我看源代碼,這實際上是與HTTPS源的iframe,所以實際上的安全,但非精通技術的用戶並不知道其他的方式。

確實。您必須查看全部的源代碼,包括父頁面上的每一段腳本,以確保沒有任何干擾iframe(例如,通過點擊劫持),並且您在瀏覽器頁面中看到的圖像實際上是安全的iframe。並確保沒有其他選項卡在同一個域中打開,並且引用了跨窗口的文檔腳本進入它...一個非啓動器。

如果我是提供此iframe的網站(在這種情況下通過Visa驗證),有沒有一種方法可以強制現代瀏覽器不允許我的網頁在http://頁面上用作iframe ,但仍允許它在https://頁面上用作iframe?

我相信你可以使用它Content Security Policy Level 2,例如用頭做:

Content-Security-Policy: frame-ancestors https: 

但是支持充滿着補丁:在寫作的時候,即使是最新的IE和Safari不支持它,並且顯然在編寫3D安全實現時並不存在。不過,如果它只是抱怨一段時間就足以讓一個不知情的商家知道他們搞砸了他們的支付集成。

他們當時可能做的其他事情之一是檢查Referer標頭的http:地址。仍然不可靠(也許很難爲所有可能的流程工作,包括重定向和彈出窗口,以及重定向之間的所有可能的流程),但可能有所幫助。