2010-07-09 46 views
4

我有一個網站,其中每個頁面通過HTTPS提供。在其中一個頁面上,我有一個表單,其action屬性設置爲相對URL。您是否可以強制HTML表單爲相對URL使用HTTPS?

帶表格的頁面只能通過HTTPS訪問,而表單頁面只能通過HTTPS訪問,但在IE中,我收到一條安全警告,告訴我我將要切換到不安全的連接。除了將包含協議的完整URL編碼到表單的action屬性之外,是否有任何方法可以防止此問題?

更新:

我嘗試硬編碼整個URL和我仍然得到彈出。

相關的代碼是:

<html> 
    <body> 
     <form action="https://mydomain.com/editProfile"> 
     ... 
     </form> 
    </body> 
</html> 

當我點擊IE6提交按鈕,我得到一個安全警告彈出。如果我單擊確定,則會顯示結果頁面,協議仍然是HTTPS。我開始懷疑它是否是造成問題的POST表單。

+2

嗯...通常,如果您使用相對URL,它應該保留您當前的協議。你可以發佈一些你的代碼嗎? 另外,也許你的網頁正在加載一些外部的東西,如來自另一個網站,腳本等的圖像......? – 2010-07-09 01:02:14

回答

6

您不能(除了將基本URL設置爲https)。根據RFC 1808(相對URL),以方案名稱開頭的URL始終被解釋爲絕對URL(第4節,步驟2a)。

(正如其他人所指出的,相對URL保留方案,所以這個問題是在其他地方,可能是未加密圖像或CSS文件,但問題是在自己的權利有趣。)

0

Internet Explorer對於要求您的https頁面中沒有http請求或彈出安全彈出窗口而臭名昭着。

你在頁面中的所有鏈接都是相對的嗎?

你的網絡服務器沒有隱藏的重定向嗎?

想想圖片/ css文件/ JavaScript文件,它們都可以使用https檢索嗎?

相關問題