Как стать автором
Обновить

Закрываем доступ к сайту

Время на прочтение1 мин
Количество просмотров4.5K
Время от времени у нас в студии возникают ситуации, когда по тем или иным причинам надо закрыть доступ к работающему сайту. К примеру, новый сайт, который только настраивается на сервере, или же на работающем проекте идет обновление функционала.

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

Если честно, я уже не помню как мы это делали раньше :), но сейчас мы решаем этот вопрос следующим внедрением в index-файл, на который модреврайтом уходят все запросы. Можно еще внедрить в файл библиотеки, которая вызывается из всех скриптов проекта.

$SecretKey = 'i-want-to-see-this-site';
$AdminCookie = 'HOHOHO! I am super hacker!';
if ($_COOKIE['AdminCookie'] != $AdminCookie && $_SERVER['QUERY_STRING'] != $SecretKey) {
    require_once 'page_park.html';
    exit;
} else {
    setcookie('AdminCookie', $AdminCookie, time()+3600*24*365, '/');
    if ($_SERVER['QUERY_STRING'] == $SecretKey) {
        header('Location: /');
        exit;
    }
}

Благодаря этому небольшому коду все люди будут попадать на page_park.html, а избранным достаточно зайти по ссылки http://наш_сайт/?i-want-to-see-this-site, чтобы получить полноценный доступ к сайту. И что самое главное, при последующих заходах избранные сразу без проблем будут попадать на работающий сайт, что очень полезно, если сайт настраивается и запускается в течении нескольких дней.

UPD. Это временная «шторка», а ключ и значение куки специально вынесены в переменные, чтобы их можно было менять от обновления к обновлению и от проекта к проекту.

P.S. Как раз сегодня утром настраивали новый сайт на сервере, вот и решил поделиться с общественностью такой незатейливой фишкой.
Теги:
Хабы:
Всего голосов 65: ↑28 и ↓37-9
Комментарии43

Публикации