Ngăn chặn truy cập hoặc tự động xóa readme.html, License.txt, wp-config-sample.php


13

Chỉ cần một câu hỏi nhanh có thể giúp bảo mật một chút. Tôi nhận thấy rằng tệp readme.html có số phiên bản được liệt kê. Nó xuất hiện lại sau mỗi lần nâng cấp và do đó, Licence.txt và wp-config-sample.php cũng vậy.

Có cách nào dễ dàng để WordPress tự động xóa các tệp này sau khi nâng cấp không?

Tôi đã chặn số phiên bản hiển thị trong thẻ meta, nguồn cấp dữ liệu rss, nguyên tử, v.v.

Tôi biết loại bảo mật này không thực sự hữu ích lắm, nhưng chỉ nghĩ rằng nó có thể là một khởi đầu nhỏ. Tôi nghe nói rằng mọi người chỉ có thể kiểm tra phiên bản jQuery được bao gồm trong WP - bao gồm và tham chiếu chéo phiên bản WP nào đã vận chuyển nó.

Câu trả lời:


19

Bạn không thực sự cần phải xóa những tập tin này. Việc chặn truy cập vào chúng dễ dàng hơn nhiều. Nếu bạn đang sử dụng URL đẹp, bạn đã có tệp .htaccess. Sử dụng .htaccess để chặn các tệp là an toàn và bạn chỉ phải thêm một lệnh một lần.

Chặn các tệp được thực hiện bằng cách thêm một lệnh vào .htaccess như thế này:

    <files filename.file-extension>
         order allow,deny
         deny from all
    </files>

Vì vậy, để chặn readme.html bạn làm điều này:

    <files readme.html>
         order allow,deny
         deny from all
    </files>

Thực hiện tương tự với tệp giấy phép hoặc bất kỳ tệp nào bạn muốn ngăn chặn mọi người truy cập. Chỉ cần mở .htaccess trong Notepad hoặc bất kỳ trình soạn thảo văn bản cơ bản nào khác, thêm các lệnh và lưu, đảm bảo rằng trình soạn thảo văn bản giữ chính xác tên tệp - không có bất kỳ .txt nào ở cuối.


1
Đây thực sự là lựa chọn mà tôi đã kết thúc. Nó hoạt động hoàn hảo.
Sahas Katta

1
Coi chừng , Cú pháp trên chỉ có giá trị tối đa với Apache 2.2! Sau đó, sử dụng Require all denied(thay thế 2 dòng bên trong) cho Apache 2.4 trở lên. Thêm chi tiết tại đây
Frank Nocke

5

Đây là mất của tôi:

RewriteRule (?:readme|license|changelog|-config|-sample)\.(?:php|md|txt|html?) - [R=404,NC,L]
  • 404 (không tồn tại) thay vì 403 (bị cấm) để tránh bất kỳ manh mối nào về sự tồn tại.
  • cũng trong các thư mục con (tức là các chủ đề và plugin, có thể mang đến cơ hội tấn công)
  • không phân biệt chữ hoa chữ thường, linh hoạt mở rộng, cũng bắt được README.html hoặc License.html (thoải mái thêm các nghi phạm điển hình như changelogs | faq | đóng góp)

Cá nhân, tôi cũng sẽ chặn:

RewriteRule \.(?:psd|log|cmd|exe|bat|c?sh)$ - [NC,F]

nb:

  • '?:' chỉ tuyên bố dấu ngoặc là không khớp (không quan trọng).
  • yêu cầu RewriteEngine trở thành on(rất có thể là vậy. Sẽ rất hiếm khi sử dụng wordpress mà không có ... (permalinks xấu xí, v.v ...)).
  • chèn trước khi các # BEGIN WordPressphần trong .htaccess của bạn

3
add_action('core_upgrade_preamble','my_function_to_delete_files');

Chỉnh sửa: bạn cũng có thể thử những

add_action('upgrader_pre_install','my_function_to_delete_files');
add_action('upgrader_post_install','my_function_to_delete_files');

Cảm ơn, tôi đã tìm ra tính năng hủy liên kết php và nó hoạt động, nhưng một vấn đề. Móc mà bạn cung cấp dường như thực thi bằng cách truy cập phần Cập nhật trong Bảng điều khiển. Có một cái móc khác cho sau khi nâng cấp đã xảy ra?
Sahas Katta

1
hãy xem và cho bạn biết
Atif Mohammed Ameenuddin

@Sahas @ atif089 Bạn có quản lý để làm việc này không?
INT

Thay vì xóa (trong trường hợp bạn thực sự muốn đọc readme!), Bạn có thể sử dụng chức năng này trong chức năng của mìnhchmod("/path/to/readme.txt", 0640);
Bysander
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.