(Мені відомо, що безпека через неясність не рекомендується).
Я намагаюся приховати той факт, що я використовую 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 непослідовним.