Forum Webscript.Ru

Программирование => PHP => Тема начата: Daiz13 от 28 Мая 2002, 00:03:15

Название: Как сделать скрипты доступными только через include()
Отправлено: Daiz13 от 28 Мая 2002, 00:03:15
Можно ли как-нибудь сделать файлы доступными только для include и запретить их запуск через адресную строку браузера?
Есть возможность как-то определить был ли скрипт запущен или его проинклудили?
Название: Как сделать скрипты доступными только через include()
Отправлено: Макс от 28 Мая 2002, 00:25:11
в папку со скриптами, которые include-ятся вставляешь .htaccess с содержанием:
deny from all

Или можно выложить эти файлы в папку, недоступную по www
Название: Как сделать скрипты доступными только через include()
Отправлено: GotZfild от 28 Мая 2002, 10:25:21
Можно также вставить в подключаемый файл проверку переменной $REQUEST_URI с именем файла, в который подключается, т.е.
if (basename($REQUEST_URI) != "main.php") exit;
Название: Как сделать скрипты доступными только через include()
Отправлено: AlieN от 28 Мая 2002, 10:28:05
Daiz13
Можно сделать специальное расширение для инклюдов
или сделать их исполняемыми
Название: Как сделать скрипты доступными только через include()
Отправлено: Dm от 28 Мая 2002, 13:53:06
в основном скрипте определяется константа, а в include файлах происходит проверка на ее наличие.
Название: Как сделать скрипты доступными только через include()
Отправлено: GotZfild от 28 Мая 2002, 18:17:36
Dm
Цитировать
в основном скрипте определяется константа, а в include файлах происходит проверка на ее наличие.

Так ему не нужен здесь основной скрипт. Ему ведь нужно проверить не то, что файл был подключен в данном скрипте, а то, что файл должен быть подключен извне.
Название: Как сделать скрипты доступными только через include()
Отправлено: Metaller от 29 Мая 2002, 12:37:21
GotZfild
А это разве не проверка???
Название: Как сделать скрипты доступными только через include()
Отправлено: Daiz13 от 29 Мая 2002, 13:47:58
А если эту переменную в адресной строке задать? Что тогда с этой проверкой?
Название: Как сделать скрипты доступными только через include()
Отправлено: bhor от 29 Мая 2002, 14:30:23
Цитировать
А если эту переменную в адресной строке задать? Что тогда с этой проверкой?

не переменная, а константа.
Цитировать
определяется константа


В основном файле:

define(\'kill_hackers\', true);

В файле который инклудится

if ( !defined(\'kill_hackers\') )
{
die("Hacking attempt");
}



[PHP]
Название: Как сделать скрипты доступными только через include()
Отправлено: GotZfild от 29 Мая 2002, 14:30:32
Цитировать
А это разве не проверка???

Это проверка, но не на то, что надо. Что если файл вызвать, набрав URL в адресной строке броузера? Каким образом в этом случае задействуется главный файл, в котором стоит эта проверка?
Название: Как сделать скрипты доступными только через include()
Отправлено: AlieN от 29 Мая 2002, 15:26:20
GotZfild
иклюде проверяет не переменная не инитиализирована и завершает своб работу