Показать сообщение отдельно
  #37 (permalink)  
Старый 27.10.2015, 17:14
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

И вы хотите чтобы я еще и Скайп "заморил"

Ну правильно, для этого и закрывается каталог, чтобы никто не могу получить к нему прямой доступ.

Еще раз повторяю - клиент уже не может обратиться к этому файлу напрямую, для этого он должен обращаться к скрипту, имеющему доступ к закрытому каталогу.

Например, ваш индексный файл прежде чем делать запросы к базе, должен сперва подключиться к ней. А параметры подключения к ней как раз и "прячут" в закрытый каталог, где также могут храниться и подключаемые функции или файлы ядра системы. Например, в индексном файле будет нечто типа такого:

//подключение скрипта из закрытого каталога
include_once '/inc/connect.php'; //параметры подключения к базе
//далее можно выполнять запросы к базе


Знакомо такое?

Подобным образом можно подключить и файл-скрипта one.php в индексном файле, но по условию, и в самом начале его, и если подключаемый файл производит и выход из выполнения, то достаточно только подключить его:

//параметры подключения к базе так как срипт подключаемый по условию работает с ней
include_once '/inc/connect.php'; //параметры подключения к базе
//подключение скрипта по условию
if(isset($_GET['name'])) include '/inc/nfo/one.php';
//далее остальной код индексного файла


а файл one.php должен производить и выход, то есть последняя строка в нем (если учесть ее так, как я правил)

if(isset($projectx)) echo isSiteAvailable($projectx);

должна быть такой

if(isset($projectx)) exit(isSiteAvailable($projectx));


А Ajax запрос с клиента производить к индексному файлу:

....load('index.php?name=<?=$project?>');

Но может быть и не стоит прятать one.php в закрытый каталог, с чего такая надобность возникла я не знаю.
Аналогично можно обращаться к любому не закрытому по прямой ссылке файлу и подключать в нем необходимое из закрытого каталога.

PS. Действие .htaccess распространяется на все файлы в нем, а также на файлы вложенных в него каталогов. То есть, если .htaccess установлен на каталог inc (что разумно), то и файлы его каталога info также будут недоступны по прямой ссылке.

Последний раз редактировалось laimas, 27.10.2015 в 17:24.
Ответить с цитированием