2017-01-24 60 views
0

我通過詹金斯HTTPS投放下面的HTML具有無效安全證書:Javascript語言,HTML不執行通過SSL連接

<!DOCTYPE html> 
<html> 
<head> 
    <script type="text/javascript">alert(1);</script> 
    <script type="text/javascript">alert(2);</script> 
    <script type="text/javascript">alert(3);</script> 
</head> 
<body> 
</body> 
</html> 

如果我認爲在瀏覽器頁面上源,這是我所看到的。但是,我沒有收到警報。

如果我打開頁面作爲本地文件file://.../index.html我得到彈出窗口。這發生在多個瀏覽器和多個客戶端上。

如果我打開javascript控制檯並鍵入alert(1);我沒有得到警報,但我得到undefined,這意味着它運行該功能,並沒有返回任何東西。

這是爲什麼?

+0

至於控制檯,它返回'undefined',因爲這是函數在JavaScript中返回時,他們沒有明確指定的返回值。所以當然alert()會返回undefined,那還有什麼呢? –

+0

對,但我沒有得到警報,這就是我應該說的 – mikeb

+0

我剛剛在Chrome和IE中試過了,似乎對我來說還好(http://imgur.com/a/iPKgk)。我想這可能與您的PC安全性有關,如AV /防火牆 –

回答

0

原來這是一個詹金斯的事情,在固定我的問題的腳本控制檯運行以下命令:

System.setProperty("hudson.model.DirectoryBrowserSupport.CSP", "default-src 'self'; script-src 'self' 'unsafe-inline'; style-src 'self' 'unsafe-inline';") 

下面是一個關於「內容安全策略」標頭,指出我們在正確的鏈接文件方向:

https://wiki.jenkins-ci.org/display/JENKINS/Configuring+Content+Security+Policy