Các thư mục Plugin có nên bao gồm một tệp index.php trống không?


16

Bản thân WordPress, trong wp-contentthư mục, bao gồm một tệp PHP trống trông như thế này.

<?php
// Silence is golden.
?>

Các plugin có nên bao gồm một tệp trống như thế này để ngăn mọi người xem nội dung của một thư mục không? Điều gì về các thư mục bổ sung trong các chủ đề - như một includesthư mục?


1
vâng, nó có lẽ là một ý tưởng tốt. Không bao giờ hiểu tại sao WP không có Options –Indexestrong gói htaccess, vì vậy những tệp này sẽ không cần thiết ...
onetrickpony

Câu trả lời:


17

Không, họ không nên. Nếu một plugin có lỗ hổng chỉ vì ai đó có thể thấy cấu trúc thư mục của nó thì nó bị hỏng. Những lỗi này cần được sửa.
Bảo mật thông qua che khuất là một lỗi cho chính nó.

Tùy thuộc vào chủ sở hữu trang web cho phép hoặc cấm duyệt thư mục.

Vấn đề thứ hai là hiệu năng: WordPress quét tất cả các tệp PHP trong thư mục gốc của plugin để tìm tiêu đề plugin. Điều này cho phép bạn có nhiều plugin trong cùng một thư mục, vd /wp-content/plugins/wpse-examples/.

Điều đó cũng có nghĩa là các tệp PHP không được sử dụng trong thư mục đó đang lãng phí thời gian và bộ nhớ khi WordPress đang tìm kiếm các plugin. Một tập tin sẽ không gây hại nhiều, nhưng hãy tưởng tượng điều này đang trở thành một thông lệ. Bạn đang tạo ra một vấn đề thực sự trong nỗ lực khắc phục hư cấu.


2
"Tùy thuộc vào chủ sở hữu trang web cho phép hoặc cấm duyệt thư mục." Đó có lẽ là điểm mấu chốt.
chrisguitarguy

và câu hỏi chính của tôi là, tại sao các tệp plugin chính không được ghi vào index.php? đó có thể là cách giải quyết tối ưu
T.Todua

10

Tôi sẽ nói CÓ. Bảo mật thông qua che khuất hoạt động nếu bạn khó hiểu hơn hàng xóm của bạn :) (nói đùa nhưng có một số sự thật về điều đó).

Thực tế là các bot / máy quét hiện biên dịch danh sách plugin ngay từ wordpress.org và thu thập dữ liệu trực tiếp của url plugin, phiên bản dấu vân tay để khai thác đã biết và giữ thông tin trong cơ sở dữ liệu để tham khảo.

Vì vậy, cái nào bạn muốn có, một bot không thể thu thập thông tin về cài đặt của bạn hoặc để lại cho tác giả plugin để đảm bảo bạn an toàn. Làm thế nào về cả hai.

ps. Bên cạnh đó, đã có 186 báo cáo khai thác từ các plugin wordpress.org năm ngoái. (* Báo cáo ..).


1
Khai thác máy quét không kiểm tra nếu plugin tồn tại. Họ cố gắng chạy khai thác trong yêu cầu đầu tiên. Một sản phẩm nào index.phpsẽ không bảo vệ bất cứ thứ gì, bạn sẽ chỉ có cảm giác an toàn sai lầm.
fuxia

Nhưng họ làm, ví dụ, quét wp (một trong nhiều) hơn 2200 plugin và sử dụng một số dấu vân tay hợp lý để phát hiện các phiên bản (kích thước tệp, bổ sung tệp, v.v.).
Wyck

Tôi đã dọn sạch hàng chục trang web WordPress bị hack. Hầu như luôn luôn yêu cầu đầu tiên là một cuộc tấn công thực sự. Điều đó thật hợp lý: Tại sao phải lãng phí thời gian với việc quét chi tiết nếu bạn có thể kiểm tra lỗ hổng trong yêu cầu đầu tiên? Theo dõi 404 của bạn để xem nó. :)
fuxia

1
Tôi đồng ý, điều này nên tùy thuộc vào người dùng cuối chứ không phải tác giả. Nhưng tôi cũng không nghĩ nó đau. Tôi chỉ muốn thêm một điểm phản biện kể từ khi bạn nói "không".
Wyck

1
đánh dấu cái này là chấp nhận vì cuộc tranh luận bình luận!
chrisguitarguy

1

Vì lõi WordPress làm điều này có ý nghĩa cho các plugin tuân theo. Mặc dù tất cả những điều này có thể được bảo vệ bằng các cài đặt phía máy chủ khác nhau nhưng không có mặc định (có lẽ tại sao lõi WordPress lại làm như vậy).


0

Như fuxia đã chỉ ra, có một nhược điểm về hiệu suất khi có thêm một .phptệp mà WordPress để quét các plugin. An index.htmlcó lẽ sẽ là một lựa chọn tốt hơn. Tất nhiên, tùy chọn tốt nhất sẽ là cấm duyệt thư mục thông qua máy chủ web.

Và cũng, bảo mật thông qua tối nghĩa là không tố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.