2016-05-16 13 views
0

.NET MVC5アプリケーションでは、ホーム/ウェルカムページ/ビューをHTTP経由でレンダリングする必要があるという点で、いくつかの固有の状況があります。ほとんどのブラウザで安全とはみなされない画像。だから現在起こっているのは、IEで「すべてのコンテンツを表示」を選択し、他のブラウザでいくつかの他の設定を調整しない限り、これらのリンクは「クリック可能」ではないということです。SSL以外のページからSSL対応ページを呼び出す

画像リンクをクリックするとjqueryモーダルメニューが表示され、ユーザーは「利用規約」モーダルに移動し、「確認」をクリックするとアカウントコントローラ/ CreateGuestメソッドが呼び出されます。私は[RequireHTTPSAttribute]で装飾されたアカウントコントローラを持っているので、このリソースはHTTPS要求を必要とします。

ホームページやウェルカムページビューを読み込むベースコントローラーが画像リンクのためにHTTPでなければならないので、両者は妥協を許さないので、非SSLのままにする必要があります。 AJAXがAccount/CreateGuestを呼び出す際の「利用規約」を暗号化するために何ができるのでしょうか?私はJavaScriptの同じ起源の方針のために、これにはあまりにも多くの回避策を見ていません。それとも、イメージリンクを「安全」にするための方法はありますか?もし可能ならば、私が作る「セキュア」にしたいリンクの

2:

はここにいくつかのコードです。非常に簡単:

<div class="row"> 
    <div class="col-xs-12 homespacer"> 
     <div class="col-xs-2 hometype" style="text-align:right;">Some text</div> 
     <div class="col-xs-4 nopad"> 
      <a id="Type1" value="1" href='#'> 
       <img style="width: 300px; float: left" src='@Url.Content("~/Images/theimage1.jpg")' /> 
      </a> 
     </div> 
     <div class="col-xs-4 nopad"> 
      <a id="Type2" value="3" href='#'> 
       <img style="width: 300px; float: right" src='@Url.Content("~/Images/theimage2.jpg")' /> 
      </a> 
     </div> 
     <div class="col-xs-2 homelabeltype">Some more text</div> 
    </div> 
</div> 

ここでjQueryのは、利用規約のためだ - アカウント/ CreateGuestリソースコールがログに予想されるエラーを生成している:「要求されたリソースのみをSSL経由でアクセスすることができます」。

 // Create Guest account and project with selected type 
    $(function() { 
     $("#termsAccept").on('click', function (e) { 
      kendo.ui.progress($("#floatingRectangle"), true); 
      var id = $("#Type").val(); 
      $.ajax({ 
       type: "POST", 
       url: "/Account/CreateGuest/" + id, 
       data: AddAntiForgeryToken({ lt: id }), 
       contentType: 'application/x-www-form-urlencoded', 
       success: function (result) { 
        window.location.href = "@Url.Content("~/Project/Edit")"; 
       }, 
       error: function (result) { 
        alert('error'); 
       } 
      }); 
     }) 
    }) 

何か助けていただければ幸いです。

答えて

0

私はそれを理解しました。 http://code.jquery.com/....etcにハードコードされたJQueryリファレンスがありました。私はこれを相対パスに変更し、すべての混合コンテンツがhttpsとして現在届いています。

関連する問題