(Zdaję sobie sprawę, że bezpieczeństwo za pomocą zaciemnienia nie jest zalecane).
Próbuję ukryć fakt, że korzystam z Wordpress. Ten post jest pomocny, ale dotyczy tylko treści (w pewnym sensie). Jestem zainteresowany wystąpieniem następujących zdarzeń:
Użytkownik próbuje uzyskać dostęp do dowolnego adresu URL
wp*
jako podciągu za pośrednictwem swojej przeglądarki.Wynik: przekierowano na stronę 404.
Użytkownik / administrator bloga wie, aby się zalogować, do którego powinien przejść
http://example.com/blogin/
.Wynik: apache przekierowuje je do
http://example.com/wp-admin/
.Jeśli użytkownik spróbuje uzyskać bezpośredni dostęp
wp-admin
z przeglądarki, zostanie wysłany na numer 1.Wynik: przekierowano na stronę 404.
Rzeczy, które do tej pory zrobiłem
Zauważyłem, że w przypadku domyślnej instalacji WordPress mogę uzyskać dostęp do dowolnego
wp*
pliku w (względnym) katalogu głównym instalacji WP. W szczególnościwp-settings.php
było problematyczne, ponieważ ujawniało informacje o mojej konfiguracji. Jeśli użytkownik uzyska do niego dostęp, wypluje niektóre błędy PHP i ujawni część struktury katalogów. Zedytowałem plik php.ini, aby godisplay_errors
wyłączyć. Teraz dostęphttp://example.com/wp-settngs.php
powoduje wyświetlenie pustej strony.To samo w sobie nie jest idealne, ponieważ ujawnia, że
wp-settings.php
istnieje. W rzeczywistościwp*
możliwy jest dostęp do wszystkich różnych plików (z różnymi wynikami). Następnie wstawiam następujące elementy do mojego pliku htaccess:RewriteEngine On RewriteBase / RewriteCond %{PATH_INFO} wp* [NC] RewriteRule .* - [F]
To działało świetnie! Wszystko ze znakiem
wp*
zostało przekierowane na moją niestandardową stronę 404. Ale teraz nie mogę uzyskać dostępu do mojej strony administratora.Próbowałem wstawić tę linię do powyższego kodu:
RewriteRule ^blogin wp-admin [NC,R,L]
. Miało być zaraz potem,RewriteBase
ale to nie zadziałało.Próbowałem zrobić:
<Directory /home/example/wp*> Order Allow, Deny Allow from example.com Deny from all </Directory>
mając nadzieję, że osoba odsyłająca z mojej strony (poprzez przepisanie reguły) będzie mogła uzyskać dostęp do wp-admin, ale nie z zewnątrz. To też nie działało. Apache narzekał, że nie można użyć tej dyrektywy od htaccess.
Przeczytałem dokumentację apache; Teoretycznie rozumiem pojęcia, ale potrzebuję praktycznej pomocy.
EDYCJA: Szukam rozwiązania, które używa .htaccess zamiast httpd.conf, ponieważ moja konkretna konfiguracja sprawia, że używanie httpd.conf jest niespójne.