|
|
16.04.2011, 13:07
|
|
Руслан
Зарегистрирован: 2011-04-15
Сообщений: 3
|
Как это реализовать? А то сейчас, если закрываешь сайт , то даже админ не может посмотреть...
|
|
|
17.04.2011, 06:51
|
|
Asiat
Аниматика

Зарегистрирован: 2005-12-12
Сообщений: 576
|
Не совсем понял, что конкретно подразумевается под "закрытие сайта", но разница между админами и обычными юзерами обычно в принадлежности к группам, либо (если админ один) по конкретному ID.
Как вариант, можете прямо в макете в самом начале воткнуть какой-нибудь редирект по условию типа:
";
if ($AUTH_USER_GROUP != 1 && $SITE_IS_CLOSED) {
header("Location: /we-are-closed/",true,307);
}
echo "<html ...
Только если эта страница неткатовская и использует тот же макет, то учтите это в условии.
|
|
|
17.04.2011, 15:14
|
|
Руслан
Зарегистрирован: 2011-04-15
Сообщений: 3
|
Уже правда неактуально, пришлось не закрывать, но суть в том, пока сайт создается, чтобы его не могли посещать простые пользователи (т.е. им выходила страница что сайт закрыт), а админ мог бы просматривать сайт, как будто бы он открыт полностью.
|
|
|
17.04.2011, 15:35
|
|
Гость
Гость
|
Для статичного Вашего IP-адреса или узкого диапазона Ваших динамических адресов можно открыть, для всех остальных закрыть доступ.
В идеале на такой случай иметь нужно под рукой статичный адрес от Вашего интернет-провайдера.
Например можно так изменить код от Asiatа
";
if ($_SERVER['REMOTE_ADDR'] != 'здесь.ваш.ip.адрес') {
header("Location: /we-are-closed/",true,307);
}
echo "<html ...
|
|
|
17.04.2011, 15:39
|
|
Гость
Гость
|
и еще
Цитата:Если клиент использует прокси-сервер узнать его IP-адрес можно при помощи переменной окружения HTTP_X_FORWARDED_FOR, значение которой можно получить при помощи функции getenv().
|
|
|
17.04.2011, 23:08
|
|
DiGGy
DiGGy

Зарегистрирован: 2005-04-04
Сообщений: 1546
|
1. Ограничение доступа по попределенным IP надо настраивать в .htaccess, типа Код:order deny,allow
allow from aaa.bbb.ccc.ddd
2. Не все прокси передают HTTP_X_FORWARDED_FOR, надеятся на это не стоит.
3. вообще для закрытия доступа можно просто закрыть сайт через http-авторизацию. Либо через тот же .htaccess либо через пхп (в случае, если пхп подключен как модуль, а не cgi):
Код:
define('usr','demo');
define('pwd','demo');
function authenticate() {
header('WWW-Authenticate: Basic realm="Secure Zone"');
header('HTTP/1.0 401 Unauthorized');
die("Вы должны ввести корректный логин и пароль для получения доступа к ресурсу\n");
}
if (!($_SERVER['PHP_AUTH_USER']==usr && $_SERVER['PHP_AUTH_PW']==pwd)) authenticate();
Temet nosce...
|
|
|
18.04.2011, 11:38
|
|
Руслан
Зарегистрирован: 2011-04-15
Сообщений: 3
|
О, спасибо. Про закрытие доступа через ip я то забыл!
|
|
|
28.04.2011, 11:49
|
|
Гость
Гость
|
Kudos to you! I hadn't thoguht of that!
|