(Tôi biết rằng bảo mật thông qua che khuất không được khuyến khích).
Tôi đang cố gắng che giấu sự thật rằng tôi đang sử dụng Wordpress. Bài đăng này là hữu ích, nhưng nó chỉ giải quyết nội dung (loại). Tôi quan tâm đến việc có những điều sau đây xảy ra:
Người dùng cố gắng truy cập bất kỳ url nào
wp*
dưới dạng chuỗi con thông qua trình duyệt của họ.Kết quả: Chuyển hướng đến trang 404.
Người dùng / quản trị viên blog biết để đăng nhập họ nên truy cập
http://example.com/blogin/
.Kết quả: apache chuyển hướng họ đến
http://example.com/wp-admin/
.Nếu người dùng cố gắng truy cập trực tiếp
wp-admin
từ trình duyệt của họ, họ sẽ được gửi đến # 1.Kết quả: Chuyển hướng đến trang 404.
Những điều tôi đã làm cho đến nay
Tôi nhận thấy một cài đặt mặc định của WordPress rằng tôi có thể truy cập bất kỳ
wp*
tệp nào trong thư mục gốc (tương đối) của bản cài đặt WP. Cụ thểwp-settings.php
là có vấn đề vì nó đã cho đi thông tin về việc thiết lập của tôi. Nếu một người dùng truy cập nó, nó sẽ phát sinh một số lỗi PHP và tiết lộ một phần cấu trúc thư mục. Tôi đã chỉnh sửa tập tin php.ini của mình đểdisplay_errors
tắt. Bây giờ truy cậphttp://example.com/wp-settngs.php
mang đến một trang trống.Điều này tự nó không lý tưởng bởi vì nó tiết lộ rằng
wp-settings.php
tồn tại. Trong thực tế, truy cập tất cả cácwp*
tệp khác nhau là có thể (với kết quả khác nhau). Sau đó tôi đặt các mục sau trong tệp htaccess của mình:RewriteEngine On RewriteBase / RewriteCond %{PATH_INFO} wp* [NC] RewriteRule .* - [F]
Điều này đã làm việc tuyệt vời! Bất cứ điều gì với một
wp*
đã được chuyển đến trang 404 tùy chỉnh của tôi. Nhưng bây giờ tôi không thể truy cập trang quản trị của mình.Tôi đã cố gắng chèn dòng này vào đoạn mã trên :
RewriteRule ^blogin wp-admin [NC,R,L]
. Nó được cho là ngay sau đóRewriteBase
nhưng điều này đã không làm việc.Tôi đã cố gắng làm một:
<Directory /home/example/wp*> Order Allow, Deny Allow from example.com Deny from all </Directory>
hy vọng rằng một người giới thiệu từ trang web của tôi (thông qua việc viết lại quy tắc) sẽ có thể truy cập wp-admin, nhưng không phải ai đó từ bên ngoài. Điều này cũng không hoạt động. apache phàn nàn rằng bạn không thể sử dụng chỉ thị này từ htaccess.
Tôi đã đọc tài liệu apache; Tôi hiểu các khái niệm, về mặt lý thuyết, nhưng tôi cần một số trợ giúp thực tế.
EDIT: Tôi đang tìm kiếm một giải pháp sử dụng .htaccess thay vì httpd.conf vì thiết lập cụ thể của tôi khiến việc sử dụng httpd.conf không nhất quán.