2009-02-12 26 views

Trả lời

3

Bạn có thể bật HTTPS trong cấu hình IIS của mình, nhưng sẽ không "an toàn" trừ khi bạn có Chứng chỉ SSL và cắm nó vào IIS. Đảm bảo bạn đã mở cổng 443.

12

Bạn có thể xuất bản chứng chỉ của riêng mình hoặc bạn có thể mua một chứng chỉ. Thông báo trước là mua một, tùy thuộc vào công ty, có nghĩa là nó đã được lưu trữ trong kho chứng chỉ cho hầu hết các trình duyệt. Tự xuất bản của bạn sẽ không được và người dùng của bạn sẽ phải thực hiện thêm bước cài đặt cert của bạn.

Bạn không nói những gì phiên bản của IIS bạn đang sử dụng, nhưng here are some detailed instructions for IIS 6

Bạn có thể mua Certs tương đối rẻ hoặc bạn có thể đi với các bé trai lớn (verisign) và nhận được một giấy chứng nhận xác nhận mở rộng mà biến của bạn thanh địa chỉ trong IE, màu xanh lá cây. Nó cũng là một quá trình xác nhận hơi nghiêm ngặt và cần có thời gian.

Nếu bạn biết tất cả người dùng sẽ truy cập trang web của bạn, không có vấn đề gì khi cài đặt trang web của riêng bạn. Tuy nhiên, đối với một trang web mở với người dùng ẩn danh (mà bạn không biết), có lẽ tốt nhất là nên mua một trang web đã có trong hầu hết các trình duyệt, cửa hàng chứng chỉ chính.

Bạn có thể bật SSL qua IIS và chỉ yêu cầu nó cho trang login.aspx của bạn chứ không phải cho phần còn lại.

10

Sau khi bạn cài đặt/cài đặt SSL, bạn muốn thực hiện một số loại chuyển hướng trên trang đăng nhập vào https: //. Sau đó, bất kỳ trang nào mà người dùng được gửi đến sau khi xác thực, nó chỉ có thể là http: //.

Protected Sub Page_PreRender(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.PreRender 
    If Request.IsSecureConnection = False And _ 
     Not Request.Url.Host.Contains("localhost") Then 

     Response.Redirect(Request.Url.AbsoluteUri.Replace("http://", "https://")) 
    End If 
End Sub 

Việc này có thể dễ triển khai trên trang chính hoặc tất cả các trang bạn yêu cầu https. Bằng cách kiểm tra "localhost", bạn sẽ tránh gặp lỗi trong môi trường thử nghiệm của mình (Trừ khi máy chủ thử nghiệm của bạn có tên khác hơn là kiểm tra: "mytestservername").

+0

tôi không biết làm thế nào để chuyển hướng trang đăng nhập bằng HTTPS: // đó là vấn đề của tôi. cảm ơn –

+0

Thêm mã Guiness vào trang chứa điều khiển đăng nhập của bạn. Tôi có thể thực sự di chuyển nó lên đầu page_load, hoặc vào OnInit, vì điều đó tiết kiệm xử lý mọi thứ khác, nhưng điều này sẽ làm việc độc đáo. –

30
  1. Đầu tiên có được hoặc tạo chứng chỉ

  2. Lấy mô-đun SecureWebPageModule từ http://www.codeproject.com/Articles/7206/Switching-Between-HTTP-and-HTTPS-Automatically-Ver. Bạn có thể tìm thấy hướng dẫn thiết lập trong bài viết.

  3. Thêm secureWebPages thẻ để web.config

    <configuration> 
        ... 
        <secureWebPages enabled="true"> 
         ... 
        </secureWebPages> 
        ... 
        <system.web> 
         ... 
        </system.web> 
    </configuration> 
    
  4. Thêm tập tin và thư mục được sử dụng cho giao thức https:

    <secureWebPages enabled="true"> 
        <file path="Login.aspx" /> 
        <file path="Admin/Calendar.aspx" ignore="True" /> 
        <file path="Members/Users.aspx" /> 
        <directory path="Admin" /> 
        <directory path="Members/Secure" /> 
    </secureWebPages> 
    

Hope this helps!

+4

Dự án SecureWebPageModule đã được đổi tên thành "SecuritySwitch" và có thể được tìm thấy tại [http://code.google.com/p/securityswitch/](http://code.google.com/p/securityswitch/) –

5

từ chối trách nhiệm - Tôi đã tham gia vào sự phát triển của dự án này

tôi sẽ khuyên bạn nên sử dụng http://nuget.org/packages/SecurePages/ Nó cung cấp cho bạn khả năng để bảo đảm các trang cụ thể hoặc sử dụng Regex để xác định các trận đấu. Nó cũng sẽ buộc tất cả các trang không phù hợp với Regex hoặc được chỉ định trực tiếp trở lại HTTP.

Bạn có thể cài đặt nó qua NuGet: Install-Package SecurePages

Documents đang ở đây: https://github.com/webadvanced/Secure-Page-manager-for-asp.net#secure-pages

đơn giản Cách sử dụng:

SecurePagesConfiguration.Urls.AddUrl("/cart"); 

hoặc

SecurePagesConfiguration.Urls.AddRegex(@"(.*)account", RegexOptions.IgnoreCase | RegexOptions.Compiled | RegexOptions.Singleline); 
+0

Cảm ơn để đăng câu trả lời của bạn! Vui lòng đảm bảo đọc kỹ [FAQ on Self-Promotion] (http://stackoverflow.com/faq#promotion). Cũng lưu ý rằng nó là * bắt buộc * mà bạn đăng tuyên bố từ chối trách nhiệm mỗi khi bạn liên kết đến trang web/sản phẩm của riêng bạn. –

Các vấn đề liên quan