Скрытие страницы администратора в качестве поддоменов - PullRequest
0 голосов
/ 19 февраля 2012

У меня есть сайт, на котором есть страница администратора (например, admin.php), доступ к которой обычно осуществляется через mydomain.com/admin.php

Что я надеялся сделать, так это использовать htaccess длясопоставьте «admin.mydomain.com» с «mydomain.com/admin.php» таким образом, чтобы пользователь никогда не узнал, что это «файл».

То есть, если кто-то извне попыталсязайдите на "mydomain.com/admin.php", я хочу, чтобы он был 404.

Теперь, для еще более сложной части: страница admin.php будет хотеть обслуживать ссылки как "/admin.php?param=значение ", и т. д., и поэтому мне нужно посмотреть на реферер (???), чтобы позволить этой работе, как ожидалось.

может ли htaccess сделать это?Есть идеи, с чего начать?

Ответы [ 2 ]

1 голос
/ 19 февраля 2012

Если вы установили запись для admin.mydomain.com с тем же IP-адресом, что и mydomain.com, а также с DocumentRoot,

Тогда это можно сделать так в вашем .htaccess:

RewriteEngine On
RewriteBase /

RewriteCond %{ENV:REDIRECT_STATUS} 200
RewriteRule ^ - [L]

RewriteCond %{HTTP_HOST} ^(admin\.) [NC]
RewriteRule ^ %1php [L]

RewriteCond %{REQUEST_URI} admin\.php$ [NC]
RewriteRule ^ - [R=404,L]
0 голосов
/ 19 февраля 2012

Я не совсем понимаю, что вы пытаетесь сделать (или действительно, почему вам абсолютно необходимо иметь страницу mydomain.com/admin.php).

Если вы пытаетесь "скрыть" ее от пользователей,почему бы на самом деле не создать поддомен, поместить файл в поддомен, реализовать защиту на всем поддомене, и тогда нет необходимости возиться с перенаправлениями, ссылками или строками запросов.

В целях безопасности вы можете захотеть сделатьчто-то вроде this :

В вашем .htaccess положите:

AuthUserFile /path/to/htpasswd/file/.htpasswd
AuthGroupFile /dev/null
AuthName "MyDomain Admin Area"
AuthType Basic
require valid-user

Создайте файл .htpasswd с помощью генератора, такого как this

Тогда вам не нужно будет скрывать страницу от пользователя, потому что без правильного имени пользователя и пароля они получат 403.

...