Saturday, January 29, 2011

Cách đặt mật khẩu cho trang web hay thư mục trong website

 Trước tiên, chúng ta tạo tệp .htpasswd chứa tên và mật khẩu người dùng áp dụng cho máy chủ Apache 1.3.23 trên máy cục bộ với hệ điều hành Windows XP SP2.

username1:password1
username2:password2

trong đó mật khẩu password1, password2,… đã được mã hóa.

Có nhiều cách để tạo tệp này. Có thể truy cập vào 1 số trang web trợ giúp, trong đó chỉ cần nhập tên và mật khẩu là được, trang web sẽ tự động mã hóa và tạo ra file cần thiết, bạn chỉ cần sao chép nó là được. Tuy nhiên cách làm này đôi khi tạo ra mật khẩu không thích hợp với hệ thống của bạn. Nguyên nhân có thể là do các phiên bản Apache trên máy chủ của bạn và máy chủ của trang web đó khác nhau. Tốt nhất là nên dùng chương trình tạo mật khẩu có sẵn trên máy chủ Apache của bạn.

Tìm trong thư mục cài Apache thư mục tên bin (trên máy cục bộ của mình là C:/Apache/bin) tệp htpasswd.exe. Mở StartRun và gõ cmd để mở Command Prompt. Trong cửa sổ Command Prompt chuyển đường dẫn đến thư mục bin vừa tìm thấy bằng lệnh cd (ví dụ trên máy mình là cd C:Apachebin).

Sau đó chạy dòng lệnh sau để tạo tệp .htpasswd chứa mật khẩu:

htpasswd.exe -mc .htpasswd username

trong đó username là tên người dùng muốn tạo ra. Khi thực hiện dòng lệnh này, sẽ có yêu cầu nhập và xác nhận mật khẩu, chỉ cần nhập theo hướng dẫn đó là được.

Nếu muốn bổ xung thêm người dùng vào file đó thì dùng lệnh sau:

htpasswd.exe -c

.htpasswd username2

rồi lại nhập mật khẩu vào tương tự như trước. Lặp lại bước này đến khi hết số lượng người dùng.

Khi hoàn tất, trong thư mục bin đó sẽ xuất hiện tệp .htpasswd, trong đó chứa tên người dùng và mật khẩu tương ứng. Mở tệp này bằng Notepad hoặc bằng 1 chương trình đọc file bất kỳ sẽ thấy nó có dạng username:password, trong đó username là tên người dùng không được mã hóa, còn password là mật khẩu tương ứng đã được mã hóa.

Sau đó hãy chép tệp .htpasswd vừa tạo ra này vào thư mục mà bạn muốn bảo vệ bằng mật khẩu, giả sử thư mục ở máy mình là C:/www/thuchanh.

Trong thư mục này, hãy tạo ra 1 tệp có tên .htaccess (cũng chỉ có phần mở rộng mà không có phần tên). Tệp này có vai trò xác lập các tham số cần thiết để thiết lập quyền truy cập trang web nằm trong thư mục trên. Nội dung của tệp này, bạn tạo ra bằng bất kỳ 1 chương trình soạn thảo văn bản nào (như Notepad chẳng hạn) với nội dung như sau:

AuthType Basic
AuthName “Enter password”
AuthUserFile C:/www/thuchanh/.htpasswd
require valid-user

Dòng đầu tiên là kiểu xác nhận, ở đây là Basic. Dòng thứ 2 là tiêu đề của cửa sổ sẽ hiện ra hỏi tên và mật khẩu, có thể là bất cứ thứ gì bạn muốn. Dòng thứ 3 rất quan trọng, đó là đường dẫn đến tệp chứa tên và mật khẩu (chính là file .htpasswd đã nói ở trên). Đường dẫn này có thể tương đối đối với thư mục gốc, hoặc có thể tuyệt đối. Trong trường hợp này mình dùng đường dẫn tuyệt đối. Dòng cuối cùng là yêu cầu chỉ chấp nhận với những người dùng hợp lệ, tức tên và mật khẩu hợp lệ.
Bây giờ mở trình duyệt ra, nhập đường dẫn đến thư mục được bảo vệ (hoặc 1 trang web bất kỳ đặt trong thư mục đó), trong trường hợp của mình là http://localhost/thuchanh, bạn sẽ nhận được 1 cửa sổ yêu cầu nhập tên và mật khẩu. Hãy nhập tên và mật khẩu bạn tạo ra ở trong file .htpasswd lúc đầu. Bạn sẽ vào được thư mục đó (hoặc trang web trong thư mục đó).

Chú ý là nếu 2 tệp .htaccess và .htpasswd đặt ở thư mục nào thì thư mục đó cùng với tất cả các tệp và các thư mục con trong nó đều được bảo vệ.ư

Theo kênh 360

Nguồn : Cách đặt mật khẩu cho trang web hay thư mục trong website

No comments:

Post a Comment