| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > PHP: Общие вопросы > Обработка скрипта только при include |
| Автор: HackMan 25.4.2008, 14:59 |
| Есть скрипты, которые не должны выполняться самостоятельно. Например, config.php, в котором находится реализация подключения к СУБД. Как реализовать, что бы скрипт не выполнялся, если обратится к нему через www.site.com/config.php? |
| Автор: bars80080 25.4.2008, 15:14 | ||
поставь в начале
где $conf_ac - переменная прописанная в первом файле обращения |
| Автор: 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']. Если есть - нафик с пляжа ;) |