(Мені відомо, що безпека через неясність не рекомендується).
Я намагаюся приховати той факт, що я використовую Wordpress. Ця публікація корисна, але вона стосується лише вмісту (роду). Мені цікаво мати такі випадки:
Користувач намагається отримати доступ до будь-якого URL-адреси
wp*
як підрядку через свій браузер.Результат: перенаправлено на сторінку 404.
Користувач / адміністратор блогу знає, щоб увійти, на який вони повинні зайти
http://example.com/blogin/
.Результат: apache перенаправляє їх на
http://example.com/wp-admin/
.Якщо користувач намагається безпосередньо отримати доступ
wp-admin
зі свого браузера, він надсилається на номер 1.Результат: перенаправлено на сторінку 404.
Речі, які я робив до цих пір
Я помітив за замовчуванням встановлення WordPress, що я можу отримати доступ до будь-якого з
wp*
файлів у (відносному) кореневому каталозі установки WP. Зокрема, цеwp-settings.php
було проблематично, оскільки воно дало інформацію про мою організацію. Якщо користувач отримав доступ до нього, він виявив би деякі помилки PHP та виявив частину структури каталогу. Я відредагував свій файл php.ini, щоб вимкнутиdisplay_errors
його. Зараз доступhttp://example.com/wp-settngs.php
до сторінки відображає порожню сторінку.Це саме по собі не є ідеальним, оскільки виявляє, що
wp-settings.php
існує. Насправді, доступ до всіх різнихwp*
файлів можливий (з різними результатами). Потім я помістив у свій файл htaccess таке:RewriteEngine On RewriteBase / RewriteCond %{PATH_INFO} wp* [NC] RewriteRule .* - [F]
Це спрацювало чудово! Все, що має,
wp*
було перенаправлено на мою користувальницьку сторінку 404. Але тепер я не можу отримати доступ до своєї сторінки адміністратора.Я спробував вставити цей рядок в коді вище:
RewriteRule ^blogin wp-admin [NC,R,L]
. Це повинно було бути після,RewriteBase
але це не спрацювало.Я намагався зробити:
<Directory /home/example/wp*> Order Allow, Deny Allow from example.com Deny from all </Directory>
сподіваючись, що референт з мого сайту (через переписати правило) зможе отримати доступ до wp-admin, але не до когось іззовні. Це також не спрацювало. apache скаржився, що ви не можете використовувати цю директиву від htaccess.
Я прочитав документацію на апаш; Теоретично я розумію поняття, але мені потрібна практична допомога.
EDIT: Я шукаю рішення, яке використовує .htaccess замість httpd.conf, оскільки моя конкретна установка робить використання httpd.conf непослідовним.