2008-09-10 39 views
14

Tôi đang phát triển một ứng dụng web yêu cầu tên người dùng và mật khẩu được lưu trữ trong web.Config, nó cũng đề cập đến một số URL sẽ được ứng dụng web yêu cầu và không bao giờ là ứng dụng khách.Mã hóa ứng dụngCài đặt trong web.config

Tôi biết khuôn khổ .Net sẽ không cho phép tệp web.config được phân phối, tuy nhiên tôi vẫn nghĩ thực tiễn không tốt của nó để loại thông tin này ở dạng văn bản thuần túy.

Mọi thứ tôi đã đọc cho đến nay yêu cầu tôi sử dụng công tắc dòng lệnh hoặc để lưu trữ các giá trị trong sổ đăng ký của máy chủ. Tôi có quyền truy cập vào không phải của các máy chủ lưu trữ là trực tuyến và tôi chỉ có FTP và Control Panel (helm) truy cập.

Bất cứ ai có thể đề xuất bất kỳ mã hóa DLL hoặc phương pháp mã hóa tốt nào mà tôi có thể sử dụng không? Tôi không muốn tự mình phát triển!

Cảm ơn phản hồi của các bạn nhưng tôi không thể ra lệnh và không thể chỉnh sửa sổ đăng ký. Nó sẽ phải là một util/helper mã hóa nhưng chỉ cần tự hỏi cái nào!

Trả lời

19

EDIT ScottGu:
Nếu bạn không thể sử dụng asp tiện ích, bạn có thể mã hóa tệp cấu hình bằng phương thức SectionInformation.ProtectSection.

mẫu trên CodeProject:

Encryption of Connection Strings inside the Web.config in ASP.Net 2.0

+0

Aku, tiếc là các liên kết đó tham chiếu đến dòng lệnh, tôi không thể sử dụng chúng khi chúng tôi không có quyền truy cập trực tiếp vào dòng lệnh. Nếu tôi mã hóa nó trên máy tính của riêng tôi và sau đó triển khai nó vào máy chủ, nó sẽ không hoạt động vì khóa sẽ không tồn tại/khác nhau – Mauro

+0

Ông đang tham khảo [Mã hóa phần cấu hình tùy chỉnh] (http: // odetocode. com/blogs/scott/archive/2006/01/08/encrypting-custom-configuration-sections.aspx). Đây là một ví dụ đơn giản, bài viết MSDN liên quan là [ở đây] (https://msdn.microsoft.com/en-us/library/zhhddkxy.aspx). – Matt

0

Trong khi trên Thoạt nhìn nó có vẻ là đơn giản, có một vài trở ngại tôi gặp phải.

Vì vậy, tôi đang cung cấp các bước mà làm việc tốt cho tôi (để mã hóa appSettings phần) sử dụng các nhà cung cấp crypto mặc định:

Encrypt phần trong web.config:

  1. Mở Vỏ lệnh quản trị (chạy làm quản trị viên!). Dấu nhắc lệnh sẽ là C: được giả định cho các bước dưới đây.
  2. cd C:\Windows\Microsoft.NET\Framework64\v4.0.30319, trên 32 bit hệ thống Windows sử dụng Framework thay vì Framework64
  3. thay đổi D:
  4. cd D:\Apps\myApp
  5. c:aspnet_regiis -pef appConfig .

Bạn sẽ thấy thông điệp này:

Microsoft (R) ASP.NET RegIIS phiên bản 4.0.30319.0 Tiện ích quản trị để cài đặt và gỡ cài đặt ASP.NET trên máy cục bộ. Bản quyền (C) Tập đoàn Microsoft. Đã đăng ký Bản quyền. Mã cấu hình phần ... Thành công!

Bạn cũng có thể Decrypt phần trong web.config: Đây là những bước tương tự, nhưng với tùy chọn -pdf thay vì -pef cho aspnet_regiis.

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