Запрет просмотра сайта гостями с редиректом на форму входа

+25
3.39K
Если проект приватный бывает необходимо запретить просмотр сайта гостям, для этого пригодится вот такой мини хак:

Ищем в файле /index.php строчку:
  1.  
  2. ////////////////////////// Проверяем, включен ли сайт //////////////////////////
  3.  
И перед ней вставляем этот код:
  1.  
  2. //// Если пользователь не авторизован перекидываем на форму входа ///
  3.  
  4. if (
  5. !$inUser->id &&
  6. substr($_SERVER['REQUEST_URI'],0,13) !=='/registration' &&
  7. $_SERVER['REQUEST_URI']!=='/login' &&
  8. $_SERVER['REQUEST_URI']!=='/passremind.html'){
  9. header('Location:/login');
  10. }
  11.  
Теперь гости не смогут просмотреть сайт.
Им будут доступны только модули показ которых разрешен на всех страницах сайта.
+3
VopisUVD VopisUVD 11 лет назад #
еще б в эту конструкцию таймер добавить и окошечко о переходе
Чтоб пользователь при переходе с поиска увидел нужную ему инфу но через несколько секунд ему открылось окно с инфой о том что чтобы полноценно пользоваться сайтом нужно зарегистрироваться и еще через несколько секунд (достаточно для чтения сообщения) переход на регистрацию

Ну и конечно все это в виде какого либо дополнения...
За идею +
+1
Anabiotick Anabiotick 11 лет назад #
А ведь можно решить по другому без хаков, вроде бы. Настроить права доступа группы "Гости", поставить запрет на просмотр модулей гостям и в настройках выбрать страницу входа. Вроде тоже должно сработать. Или я ошибаюсь? Ни в коем случае не подумайте, что критикую, если стандартный способ не удовлетворяет всем требованиям, тогда ваш хак может кому-нибудь пригодиться.
0
Anonim Anonim 11 лет назад #
нельзя
0
Anor Anor 11 лет назад #
Таймер тут не нужен. С поиска если такой хак стоит не попадут по причине отсутствия сайта в поиске. Ведь роботы тоже будут видеть только страницу входа.

А стандартный способ тут не подходит. Страница входа показывается только один раз.
0
Anabiotick Anabiotick 11 лет назад #
Ну так да, один раз, до авторизации. После авторизации сайт будет показан тем группам пользователей, которым это будет позволено. Неавторизованные гости дальше этой страницы не пройдут. Или есть уже лазейки какие-то? Тогда сорьки, не знал :)
0
Александр Александр 11 лет назад #
супер спасибо большое)))
0
Митяй Митяй 11 лет назад #
Отличное решение. Жаль только ленты RSS перестают работать.
0
Anor Anor 11 лет назад #
Да. Была задача полностью закрыть проект от анонимов и ботов.
0
Anonim Anonim 11 лет назад #
От ботов только через htacces видимо
0
Anonim Anonim 11 лет назад #
Перестала работать регистрация после применения данного хака. Ошибка 500
Как побороть?

Еще от автора

Мост между InstantCMS 1.10+ и форумом phpBB3
Представляю функционал реализующий интеграцию между InstantCMS 1.10+ и популярным форумом phpBB3 Что получилось настроить и пофиксить в первой версии:
Компонент "Укорачиватель ссылок" для ICMS 1.10+
Представляю простой но очень полезный компонент умеющий красиво укорачивать любые ссылки до uid: /info/1234.
Модуль Яндекс.Почты для ICMS 1.10+
Представляю модуль Яндекс.Почты для домена. Что он умеет: 1. Регистрация аккаунтов в Яндекс.Почте для Вашего домена 2.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.