Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > Обработка скрипта только при include


Автор: HackMan 25.4.2008, 14:59
Есть скрипты, которые не должны выполняться самостоятельно. Например, config.php, в котором находится реализация подключения к СУБД. Как реализовать, что бы скрипт не выполнялся, если обратится к нему через www.site.com/config.php?

Автор: bars80080 25.4.2008, 15:14
поставь в начале 
Код
if($cong_ac != 1) exit;

где $conf_ac - переменная прописанная в первом файле обращения  smile 

Автор: HackMan 25.4.2008, 15:19
Думал об этом способе. Но если файлов вроде config.php будет неизвестное количество (например, система плагинов), то для каждого такого плагина придётся модифицировать код главной страницы... Нет какой-нибудь функции или ещё чего, что бы узнать, является ли скрипт "подключённым" или работает самостоятельно?

Автор: Feldmarschall 25.4.2008, 15:20
а зачем для каждого-то!?
другое дело, что при регистер глобалс такая "защита" обходится, как два байта переслать

Автор: webevt 25.4.2008, 15:23
Несколько путей:
1. Запретить его выполнение в .htaccess
2. В скриптах, в которых ты его будешь подключать, определять константу(к примеру, _SECURE ), а в конфиге проверять ее наличие. При отсутствии этой константы делать сразу exit();
3. Проверять наличие __FILE__ в $_SERVER['SCRIPT_FILENAME']. Если есть - нафик с пляжа ;)

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)