giải pháp đơn giản để hạn chế quyền truy cập vào (một số) tải lên / tải xuống


11

Tình thế ban đầu

Đối với một trang web tôi đang thiết lập, tôi đã xem xét toàn bộ lĩnh vực bảo mật tải lên / tải xuống và hạn chế quyền truy cập vào chúng dựa trên vai trò / khả năng của người dùng. Tất nhiên tôi đã đọc một số câu hỏi trước đây liên quan đến chủ đề (chung) ở đây, vì lý do tham khảo những câu hỏi quan trọng / thú vị nhất mà tôi tìm thấy:

Ghi chú bổ sung

Nói chung, việc cải thiện bảo mật cài đặt wordpress của bạn là một ý tưởng không tồi - ví dụ như bảo vệ bạn wp-config.php- có rất nhiều điều bạn có thể và nên làm. Có rất nhiều thông tin ngoài kia làm thế nào để làm điều đó. Tôi đang ở trong bối cảnh của câu hỏi này chủ yếu là về phần tải lên / tải xuống của tôi.

Tải lên Wordpress không được bảo mật, mọi người đều có thể duyệt uploadsthư mục, trừ khi bạn ngăn chặn nó bằng .htaccess:

Options All -Indexes

Các .htaccesstập tin phải được đặt trong uploadsthư mục. Nhưng điều đó không thực sự bảo mật chúng, nó chỉ khiến việc tìm các tệp trở nên khó khăn hơn. Ngoài ra, bạn có thể ngăn chặn hotlinking, hạn chế truy cập một cách chủ yếu dựa trên referrer- mặc dù đó là trường hợp hơi khác biệt tôi nghĩ tôi đã đề cập đến nó, tôi không nói rõ hơn, bạn có thể tìm thấy nhiều thông tin về điều đó.

Tất nhiên có khả năng đặt bài đăng ở chế độ riêng tư hoặc tạo loại bài đăng tùy chỉnh với các tệp mẫu phù hợp để đặt loại bài đăng đó ở chế độ riêng tư, nhưng điều đó không bảo mật các tệp của bạn. Tương tự có thể được nói cho gói các tập tin trong điều kiện như is_user_logged_in()hoặc is_admin().

Trên một sidenote có rất nhiều plugin ngoài đó hứa hẹn sẽ làm cho các tệp của bạn được bảo mật và bảo vệ, nhưng nhiều trong số chúng chỉ giả vờ làm như vậy, một số lý do ở trên. Tôi chỉ đang viết nó ra bởi vì tôi khá chắc chắn rằng nó không được mọi người biết đến - vì vậy, hãy nhận ra điều đó.

Mục tiêu

Ý định của tôi là có thể hạn chế quyền truy cập vào (một số) tải lên và tải xuống tương ứng. Và để đảm bảo rằng không ai không mong muốn có thể có quyền truy cập vào chúng, không phải ngẫu nhiên hoặc nếu ai đó biết tên tệp, các tệp phải thực sự riêng tư và an toàn. Sau khi tất cả chỉ một số người nên có quyền truy cập mà không có ngoại lệ.

Ngoài ra, tôi không cần phải tư nhân hóa toàn bộ trang web, điều đó thực sự sẽ phản tác dụng - nó được sử dụng cho mục đích trình bày công khai. Hơn nữa tôi muốn giải pháp có thể dễ dàng sử dụng, vì lý do đơn giản là một số người làm việc với nó không chính xác là các chuyên gia máy tính, vì nó thường là như vậy.

Câu hỏi

Do đó, câu hỏi đặt ra là có một cách (tương đối) đơn giản để hạn chế quyền truy cập vào (một số) tải lên và tải xuống tương ứng không? Và như tôi đã thực hiện, điều đó có nghĩa là một cách để thực sự bảo vệ và bảo vệ họ?


Bạn nên thêm giải pháp của bạn như một câu trả lời thay vì nhúng nó vào câu hỏi.
s_ha_dum

Và vui lòng sử dụng chữ hoa / chữ thường thích hợp. Đọc như một cuộc trò chuyện ...
kaiser

Cảm ơn những lời chỉ trích mang tính xây dựng, tôi sẽ sớm chỉnh sửa và tái cấu trúc nó.
Nicolai

Câu trả lời:


8

Tôi đang trả lời câu hỏi của riêng mình, vì tôi đã tìm ra giải pháp, nhưng tôi thực sự quan tâm đến ý kiến ​​của bạn đối với nó. Hoặc có thể bạn có một giải pháp tốt hơn nhiều, nếu vậy, tôi thực sự muốn ở đây về nó.

Kết quả nghiên cứu

Kết quả nghiên cứu của tôi là:
1. lấy các tập tin bên ngoài wwwthư mục gốc, thư mục;
2. không cho phép mọi truy cập trực tiếp vào thư mục chứa các tệp;
3. để một kịch bản xử lý các yêu cầu đến các tập tin;
Các nguồn cho những điểm đó - ít nhất là - bao gồm trong câu hỏi của tôi.

Giải pháp

  1. Tôi đã cài đặt plugin » wp-downloadmanager «
    • một thư mục được gọi filessẽ được tạo bên wp-contenttrong tiến trình;
  2. Tôi đã thêm một .htaccesstập tin vào filesthư mục mới :
    • nội dung của .htaccess:
      Options All -Indexes
      Order Deny,Allow
      Deny from all
  3. Tôi đã thay đổi một tùy chọn quan trọng của plugin:
    • ý tôi muốn nói là download method;
    • Tôi đã thay đổi nó thành output file;
  4. Tôi đã thêm một số tệp qua giao diện plugin:
    • có một tùy chọn được gọi là allowed to download;
    • cho phép hạn chế quyền truy cập dựa trên vai trò / khả năng của người dùng;
  5. Tôi đã làm một số thử nghiệm:
    • không truy cập trực tiếp vào các tệp - không qua thanh địa chỉ hoặc wget;
    • Có thể truy cập tải xuống công khai thông qua permalinks của họ - Tôi chọn »permalinks đẹp: có« và »url tải xuống: id tệp« trên bảng tùy chọn - thanh địa chỉ / wget cũng hoạt động;
    • tải xuống được bảo vệ, hạn chế chỉ có thể truy cập nếu đăng nhập với tư cách người dùng với vai trò / khả năng chính xác;

Suy nghĩ

Tôi đang nghĩ giải pháp khá nhiều theo kết quả nghiên cứu. Ngoài việc đặt các tập tin bên ngoài. Nhưng việc hạn chế quyền truy cập vào / bảo vệ thư mục và để tập lệnh xử lý các yêu cầu tệp được điền đầy đủ. Hạn chế truy cập được xử lý bởi .htaccessvà tập lệnh trong trường hợp này là plugin wp-downloadmanger.

Ghi chú bổ sung

  • nó là hoàn toàn cần thiết để thay đổi download methodđểoutput file
  • và tất nhiên phải.htaccesstập tin đúng chỗ

  • để kiểm tra thực tế rằng plugin đảm nhận vai trò của tập lệnh, hãy xem qua wp-downloadmanger.php- về các dòng từ 207 đến 227 (phiên bản 1.6.1); điều này có nghĩa là điểm bổ sung cho thông tin được liên kết

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.