Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Как закрыть доступ, а?

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
event
Отправлено: 27 Января, 2012 - 00:30:36
Post Id


Частый посетитель


Покинул форум
Сообщений всего: 542
Дата рег-ции: Май 2011  


Помог: 0 раз(а)




Привет.
Написал маленький движок сайта, шапку сайта я подключаю через вот эту функцию:
PHP:
скопировать код в буфер обмена
  1. function stdhead($title = "") {
  2.         global $config, $row;
  3.        
  4.         if (!$config['site_online']){
  5.                 die(file_get_contents("themes/shablons/offline.html"));
  6.     }
  7.        
  8.         header ("Content-Type: text/html; charset=" . $config['site_charset']);
  9.         header ("X-Powered-by: ... Source version 1.0 - ".$config['site_url']."");
  10.         header ("X-Chocolate-to: ICQ ".$config['site_creator_icq']."");
  11.         header ("Cache-Control: no-cache");
  12.         header ("Pragma: no-cache");
  13.  
  14.         if ($title == ""){
  15.                 $title = $config['site_name']." :: There is no title page";
  16.                 }else{
  17.                 $title = $config['site_name'] ." :: " . htmlspecialchars_uni($title);
  18.         }
  19.  
  20.         require_once("themes/shablons/header.php");
  21.  
  22. }


Но если зайти по адресу http://mysite.com/themes/shablons/header.php, то я вижу на страничке шапку своего сайта, ну вот как запретить вот такой доступ напрямик? Улыбка
 
 Top
DlTA
Отправлено: 27 Января, 2012 - 00:55:14
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2952
Дата рег-ции: Окт. 2010  


Помог: 53 раз(а)




можно извратиться и проверять по какому адресу идет запрос, и не выводить ничего если не туда куда надо
а можно просто закрыть доступ к файлу через .htaccess
 
 Top
nike
Отправлено: 27 Января, 2012 - 06:13:44
Post Id


Новичок


Покинул форум
Сообщений всего: 26
Дата рег-ции: Нояб. 2010  


Помог: 1 раз(а)




можно с помощью константы проверять
в файле который подгружает header создать костанту

а в самом header.php сделать проверку
CODE (htmlphp):
скопировать код в буфер обмена
  1. defined('SECURITY') or die("Access denied");
 
 Top
Самогонщик
Отправлено: 27 Января, 2012 - 06:22:24
Post Id



Посетитель


Покинул форум
Сообщений всего: 495
Дата рег-ции: Окт. 2011  


Помог: 8 раз(а)




Способ с объявлением константы встречается довольно часто, но маленький параноик во мне говорит, что нужно использовать его в комбинации с запретом через .htaccess.

Запрет через .htaccess может внести некую дисциплину, не пихать файлы, которым есть доступ из вне куда попало. Это по моему горькому опыту Хм
 
 Top
Zuldek
Отправлено: 27 Января, 2012 - 08:11:34
Post Id


Постоянный участник


Покинул форум
Сообщений всего: 2122
Дата рег-ции: Июнь 2010  


Помог: 50 раз(а)




Через директивы .htaccess
 
 Top
nike
Отправлено: 27 Января, 2012 - 09:22:05
Post Id


Новичок


Покинул форум
Сообщений всего: 26
Дата рег-ции: Нояб. 2010  


Помог: 1 раз(а)




можно еще за пределы корня сайта вынести папку со всеми инклюдами
 
 Top
kappa
Отправлено: 27 Января, 2012 - 13:08:06
Post Id



Посетитель


Покинул форум
Сообщений всего: 349
Дата рег-ции: Апр. 2011  


Помог: 3 раз(а)




Я на одном помню хостинге заметил когда у меня была авторизация с помощью .htaccess
то phpinfo() показывал и путь к админке и _SERVER["PHP_AUTH_PW"].
 
 Top
event
Отправлено: 27 Января, 2012 - 15:13:48
Post Id


Частый посетитель


Покинул форум
Сообщений всего: 542
Дата рег-ции: Май 2011  


Помог: 0 раз(а)




Можно более подробнее как с константамы организовать?
 
 Top
EuGen Администратор
Отправлено: 27 Января, 2012 - 15:31:19
Post Id


Профессионал


Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007  
Откуда: Berlin


Помог: 707 раз(а)




PHP:
скопировать код в буфер обмена
  1.     function stdhead($title = "") {
  2.             global $config, $row;
  3.            
  4.             if (!$config['site_online']){
  5.                     die(file_get_contents("themes/shablons/offline.html"));
  6.         }
  7.            
  8.             header ("Content-Type: text/html; charset=" . $config['site_charset']);
  9.             header ("X-Powered-by: ... Source version 1.0 - ".$config['site_url']."");
  10.             header ("X-Chocolate-to: ICQ ".$config['site_creator_icq']."");
  11.             header ("Cache-Control: no-cache");
  12.             header ("Pragma: no-cache");
  13.      
  14.             if ($title == ""){
  15.                     $title = $config['site_name']." :: There is no title page";
  16.                     }else{
  17.                     $title = $config['site_name'] ." :: " . htmlspecialchars_uni($title);
  18.             }
  19.             define('SECURE_HEADER', 1);    
  20.             require_once("themes/shablons/header.php");
  21.      
  22.     }


В Ваш имеющийся header.php добавить первой строкой:


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB