Главная > CMS | PHP | Wordpress > WordPress закрыть сайт паролем

WordPress закрыть сайт паролем

12.02.2012 7 комментариев » Просмотры: 6 554
 

Потребовалось мне закрыть сайт паролем, от посторонних глаз. Причем сохранив работоспособность всего остального: чтобы те кто пароль знают могли зайти на сайт и использовать его в обычном режиме.

Кроме того, этот способ не должен зависеть от самого WP.

Итак:

1. Открываем www/index.php

2. В самый верх, после

добавляем это

3. http://www.site.com, заменяем на адрес Вашего сайта, а тут-нужно-ввести-пароль на ваш пароль

4. Всё, можно проверять 🙂

5. Для выхода нужно перейти по такой ссылке: http://www.site.com/?bye=bye

p.s. НЕ ЗАБЫВАЙТЕ ДЕЛАТЬ БЭКАПЫ, перед тем как начнете вносить какие-либо правки!!!

p.s.1. isset, конечно лучше заменить на !empty, но мой парсер тэгов не любит !empty 🙂
p.s.2. Этот способ будет работать, не только с WordPress, а вообще с любым сайтом, где есть единая точка входа.

Автор: | Теги:

Важно

У нас заработал ФОРУМ. Все вопросы, которые не касаются статьи, а так же вопросы по конкретно вашему случаю нужно задавать и обсуждать именно там, в разделе "Помощь пользователям".

7 комментариев

Написать свой
  1. Марина Ответить
    26.10.2017 в 5:02 пп
    Парсер будет выдавать ошибку на empty, если переменная не существует

    Можно сделать так:

    if ( (!isset($_COOKIE['auth_key']) && !empty($_COOKIE['auth_key'])) ) || !trim($_COOKIE['auth_key']))

    И в таком духе)
    • Vitaliy Orlov
      Vitaliy Orlov Ответить
      28.10.2017 в 12:08 дп
      наверное стоит проверить, т.к. код написан более 5и лет назад, но именно isset и проверяет переменную на существование, поэтому !empty не имеет тут смысла
  2. Oleg Ответить
    11.02.2014 в 1:31 пп
    Добрый день! Не могли бы подсказать такой вариант: Чтоб доступ к блогу был только у авторизированных пользователей.Чтоб при заходе на сайт сразу была страница авторизации..Кто не авторизовался тот не может просматривать страницы...и дальше страницы авторизации никуда не мог уйти.
    • Vitaliy Orlov
      Vitaliy Orlov Ответить
      11.02.2014 в 9:27 пп
      Привет!
      Я вижу несколько вариантов:
      1) Тот что описан в этой статье. При этом для того чтобы войти, всем нужно будет знать один и тот же пароль.
      2) Похожий на первый вариант, но закрыть сайт через htaccess, вот тут есть описание: htaccess: закрыть сайт паролем
      3) Использовать плагин вроде этого: WP-Members

      Самый правильный вариант, это использование плагина или написание своего. К сожалению, я с такой задачей как у тебя не сталкивался (если надо было временно закрыть сайт, я использовал простое решение, вроде закрытия через куки), поэтому не могу порекомендовать надежное решение. Попробуй указанный мной плагин, по описанию, довольно функциональная штука.
  3. Макс Ответить
    22.08.2013 в 3:35 пп
    Пару раз сработала и все теперь после ввода пароля страница AUTH просто обновляется!
    Подскажите в чем может быть дело?
    • Vitaliy Orlov
      Vitaliy Orlov Ответить
      25.08.2013 в 7:22 дп
      Всего скорее следующее:

      не правильно вводишь пароль: caps lock или раскладка
      какие-то проблемы с куками - попробуй закрыть и переоткрыть броузер
      какие-то проблемы с плагинами броузера - попробуй работает ли в другом броузере


      Проверь правильно ли доходит пароль, для этого на время теста измени код вот так:

      if (!isset($_COOKIE['auth_key']) OR !trim($_COOKIE['auth_key']))
      {
      echo 'COOKIE-NOT-FOUND'.PHP_EOL;
      if (isset($_POST['f_pass']) AND ($_POST['f_pass']=='тут-нужно-ввести-пароль'))
      {
      die ('CORRECT PASSWORD').PHP_EOL;
      setcookie('auth_key', time(), time() + 60*60*24);
      Header('Location: http://www.site.com/');
      }
      else
      {
      die ('BAD PASSWORD :'.$_POST['f_pass'].'').PHP_EOL;
      }
      die('<html><head><title>AUTH</title></head><body><h3>Auth required</h3><form action="" method="post"><input type="password" name="f_pass" value="" /><input type="submit" value="Enter"></form></body></html>');
      }
      else
      {
      die('YOU-ARE-ALREADY-AUTHORIZED'.PHP_EOL);
      if (isset($_GET['bye']) AND ($_GET['bye']=='bye'))
      {
      setcookie('auth_key', NULL, -1);
      Header('Location: http://www.site.com/');
      }
      }

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Разрешены HTML-теги: <a>, <code>, <i>, <em>, <strong>, <b>, <u>, <strike>


Ниже приводятся ссылки на блоги ссылающиеся на этот пост:
  1. Pingback от htaccess: закрыть сайт паролем 13.05.2013