2014-08-30 45 views
-2

我是SSL的新手,但是我獲得了證書,設置了我的主機,並在我的網站上獲得了綠色掛鎖,該掛鎖現在使用SSL。網站使用SSL,但JSON查詢呢?

在我的MVC應用程序,我飾我所有的控制方法,在全球範圍,使用:

public static void RegisterGlobalFilters(GlobalFilterCollection filters) 
{ 
    filters.Add(new HandleErrorAttribute()); 

    var useSsl = System.Configuration.ConfigurationManager.AppSettings["Protocol"].ToLower(); 
    if (useSsl == "https") 
     filters.Add(new RequireHttpsAttribute()); 
} 

的配置設置出來的SSL調試的時候。

但是,我的json查詢也受SSL保護嗎?

調用示例:

$.ajax({ 
      url: '/Category/GetSubCategories', 
      type: "POST", 
      contentType: "application/json", 
      data: JSON.stringify({ categoryId: id }), 
      cache: false, 
      async: true, 
      success: function (result) { 

...

將這些是安全的,或者我需要確保他們使用SSL呢?

他們調用的控制器方法應該由全局的RequiresSSL覆蓋,但我不確定。

例如:

public JsonResult AddNewLine(TransactionModel model) 
{ 
    ... 
} 

我有一個控制器,是從一個網頁,是所謂的https:// ...

將請求和應答加密?

初始連接是HTTP,之後是HTTPS。我想這是由於我所有的控制器方法都是'RequiresSSL'?

enter image description here

有些人認爲是低於約我困惑的事情,但我不清楚是什麼我困惑。此外,(在編輯時)-2負片在我的文章,使我的問題,我已經問或做錯了什麼,所以任何指導將不勝感激。

回答

0

你正在談論這個完全錯誤的。這就像問我「我的汽車的發動機壞了,我想知道我今晚晚餐時烤箱會工作嗎?」他們真的沒有關係。

如果您希望客戶端訪問站點va HTTPS,然後進行URL重寫,將URL從HTTPS轉換爲HTTP。無需爲您的控制器進行大量設置。

+0

那麼,上面的代碼是錯誤的? – Craig 2014-08-30 05:29:00

+0

是的,你不應該擔心控制器中的連接協議。記住問題的分離。我不確切知道「JSON查詢」是什麼。如果您正在談論您正在向您的網站發出的AJAX調用,那麼他們將使用指向API端點的路由中指定的任何協議。如果沒有指定協議,則使用該站點的協議。如果您嘗試從通過HTTPS加載的站點訪問HTTP資源,通常大多數瀏覽器都會顯示對話框。 – mason 2014-08-30 13:44:20

+0

假設URL重寫將解決所有SSL/TLS訪問問題是完全錯誤的。重定向只發生在最初的簡單HTTP請求之後,這可能會泄漏信息,並且也可能容易受到降級攻擊(參見[更長的解釋](http://webmasters.stackexchange.com/a/28443/) 11628))。重要的是,提交給客戶端的所有鏈接在他們應該使用時都使用「https://」,可能會自動用於相關鏈接(雖然始終存在與起點有關的問題,哪些HSTS可以提供​​幫助)。 – Bruno 2014-08-30 16:09:50