Как закрыть сайт от незарегестрированных пользоват

1. Макс (29.01.2011 / 17:36)
Очень интересует

2. Саня (29.01.2011 / 18:09)
if (!is_user()) {
echo 'Иди лесом гость';
}

3. Макс (29.01.2011 / 20:40)
Спасибо) а это в каком файле прописать?

4. Miks (29.01.2011 / 22:13)
Если у тебя ротор, то такая функция уже есть в настройках админ панели.:-)

5. Макс (29.01.2011 / 22:25)
Там есть функция закрытия гостевой. А я имею в виду закрыть доступ ко всему. Чтобы гости не могли даже просматривать форум, заходить в другие разделы... Чтобы для гостей была чистая главная страница с просьбой пройти регистрацию или авторизацию, а также открыта гостевая книга. А всё осталное скрыто.

6. evlbd (30.01.2011 / 12:44)
да поделитесь кому не сложно.

7. Удаленный (30.01.2011 / 13:12)
Тебе вот так надо > http://student95.com ?

8. jozze (30.01.2011 / 13:16)
Кстати, отличная модификация ротора oy

9. Удаленный (30.01.2011 / 13:17)
Да:-)

10. Дмитрий (30.01.2011 / 13:50)
Для ротора - в файле includes/header.php в незащищенном авторизацией месте вставить этот код:
<?php 
if (!is_user()) {
    if (!stristr($php_self, 'mail/index.php' && !stristr($php_self, 'mail/lostpassword.php' && !stristr($php_self, 'pages/regisrtation.php'){
	    header ("Location: ../index.php?" . SID); exit;
	}
}
Перечислить надо все страницы, доступ к которым хочешь разрешить гостям. Иначе регистрация, восстановление пароля или связь в администрацией будут невозможны.

11. Удаленный (30.01.2011 / 14:10)
А пример есть, как это будет выглядеть ?

12. Виталий (30.01.2011 / 14:11)
11. CheLove, поставь и увидешь как будет!!!

13. Дмитрий (30.01.2011 / 14:15)
да, не подумал. В переадресации надо указывать точный путь, а не относительный. Например, header ("Location: ' . BASEDIR . 'index.php?" . SID); exit;

14. Удаленный (30.01.2011 / 14:17)
smile ...

15. Макс (30.01.2011 / 16:59)
Спасибо, попробую

16. Макс (30.01.2011 / 17:19)
Может что-то неправильно? Вылазиет белая страница:
# ###########################################################################################
# #                                     Авторизация                                        ##
# ###########################################################################################



if (!is_user()) { 
    if (!stristr($php_self, 'mail/index.php' && !stristr($php_self, 'mail/lostpassword.php' && !stristr($php_self, 'pages/regisrtation.php'){ 
        header ("Location: index.php?" . SID); exit; 
    } 
}

  if ($config['regkeys'] > 0 && $udata['users_confirmreg'] > 0 && empty($udata['users_ban'])) {
    if (!strstr($php_self, 'pages/key.php') && !strstr($php_self, 'input.php')) {
      header ('Location: ' . $config['home'] . '/pages/key.php?log=' . $log . '&' . SID);
      exit;
    } 
  } 

  if ($udata['users_sumcredit'] > 0 && SITETIME > $udata['users_timecredit'] && empty($udata['users_ban'])) {
    if (!strstr($php_self, 'games/kredit.php')) {
      header ('Location: ' . $config['home'] . '/games/kredit.php?' . SID);
      exit;
    } 
  } 
  // ---------------------- функция проверки ip и браузера -----------------------//
  if (!empty($udata['users_ipbinding'])) {
    if ($_SESSION['my_ip'] != $ip) {
      $_SESSION = array();
      session_unset();
      setcookie(session_name(), '', 0, '/', '');
      session_destroy();
      header ('Location: ' . $config['home'] . '/' . $request_uri);
      exit;
    } 


17. Дмитрий (30.01.2011 / 18:46)
я же говорил, что вставлять надо в незащищенном авторизацией месте. Например, в самом низу, или сразу перед "Авторизация по cookies"...

Вот этот код:
<?php
if (!is_user()) {
    if (!stristr($php_self, 'mail/lostpassword.php') && !stristr($php_self, 'pages/registration.php') && !stristr($php_self, 'pages/login.php') && !stristr($php_self, 'input.php')){  
        header ('Location: ' . $config['home'] . '/pages/login.php?' . SID); exit;  
    }  
}


18. Макс (30.01.2011 / 20:02)
Спасибо, попробую

Добавлено через 08:04 сек.
Всё работает))

19. Макс (30.01.2011 / 22:56)
Решил изменить его дальше, получилось: http://limansk.ru/

20. jozze (30.01.2011 / 23:07)
С вебтемы доступ есть так или иначе.

21. Андрей (30.01.2011 / 23:07)
Пишется "идентификацию"

22. Макс (30.01.2011 / 23:10)
Спасибо за замечание ща исправлю)) XD. А то и есть ограниченный доступ. Убрал всё, что не нужно гостям.

23. Дмитрий (30.01.2011 / 23:13)
jozze (30 Января 2011 / 22:07)
С вебтемы доступ есть так или иначе.
кто сказал? Все работает. Перебрасывает на страницу авторизации, при условии что ты не на странице регистрации, отправки письма администратору или если ты не восстанавливаешь пароль.

24. jozze (30.01.2011 / 23:20)
сорри, проверил только гостевую))))
и ,кстати, две авторизации смотрятся не очень, одну из них убрать никак?

25. Макс (30.01.2011 / 23:34)
Спасибо за замечания. Две авторизации убрать я вряд ли смогу, т.к. одна из WEB-темы, а другая в login.php

26. Макс (02.02.2011 / 20:04)
Для тех кто не хочет вручную прописывать всё, вышло официальное дополение, имеющее эту функцию))

27. Аслан (02.02.2011 / 21:18)
LIMANSK (2 Февраля 2011 / 20:04)
Для тех кто не хочет вручную прописывать всё, вышло официальное дополение, имеющее эту функцию))
Недля всехsmile

28. Miks (02.02.2011 / 21:55)
В последнем обновлении такая функция есть.:-)

29. Shurups (06.02.2011 / 22:11)
УЖЕ ВЫПОЛНЕННО

30. den57 (22.03.2011 / 00:05)
Ребят что то я не понял куда этот скрипт вставить надо. Хотябы строчку скажите я длаю через Notepad++

31. den57 (22.03.2011 / 21:46)
Поставил этот скрипт, и при перезагрузки компа когда заходишь на сайт выдаёт ошибку

Авторизация

Ошибка! Вы уже авторизованы
Как исправить ошибку?

32. Виталий (22.03.2011 / 21:46)
скрипт в студию.

33. Удаленный (22.03.2011 / 22:09)
den57 (22 Марта 2011 / 21:46)
Поставил этот скрипт, и при перезагрузки компа когда заходишь на сайт выдаёт ошибку

Авторизация

Ошибка! Вы уже авторизованы
Как исправить ошибку?
У меня тоже самое, приходмтся на главную выходить... Я писал Вантузу насчет этого, но он говорит что все нормально(

34. den57 (22.03.2011 / 22:15)
if (!is_user()) {
if (!stristr($php_self, 'mail/lostpassword.php') && !stristr($php_self, 'pages/registration.php') && !stristr($php_self, 'pages/login.php') && !stristr($php_self, 'input.php')){
header ('Location: ' . $config['home'] . '/pages/login.php?' . SID); exit;
}
}

Вот скрипт сказали поставить перед "Авторизация по cookies"...
Типа в незащищённое авторизацией место.

35. Удаленный (22.03.2011 / 22:26)
Ну как ? Работает ?

36. den57 (23.03.2011 / 15:18)
всё работает тока ошибка вылетает

37. Удаленный (23.03.2011 / 15:28)
Да, ошибка... А как это исправить ?

URL: https://visavi.net/topics/18292