Доступ к определенным файам .php только зарегистрированным пользователям

Главные вкладки

Аватар пользователя fit fit 13 марта 2010 в 20:27

Есть файл file.php лежащий в ftp корне друпала. Как запретить незарегистрированным пользователям сайта доступ к этому файлу?

Комментарии

Аватар пользователя fit fit 13 марта 2010 в 20:58

"RxB" wrote:
* Проинклудить в файл bootstrap.inc и рулить

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

Аватар пользователя riyuzakki riyuzakki 13 марта 2010 в 21:05

А, собственно, зачем такие грабли? Что такого неведомовеликолепного делает Ваш file.php, что не сможет сделать друпал?

Аватар пользователя fit fit 13 марта 2010 в 21:07

"riyuzakki" wrote:
А, собственно, зачем такие грабли? Что такого неведомовеликолепного делает Ваш file.php, что не сможет сделать друпал?

Странный вопрос. Там может быть просто какая то информация, которую нельзя смотреть незарегистрированным юзерам...

Аватар пользователя riyuzakki riyuzakki 13 марта 2010 в 23:10

Совершенно не считаю свой вопрос странным. Из Вашего вопроса не понятно, зачем Вам понадобилось класть левый скрипт рядом с друпалом, да еще и пытаться, чтоб этот скрипт работал в контексте безопасности друпала. Почему бы не реализовать функции этого скрипта в самом друпале?
Но если Вы во что бы то ни стало хотите заставить работать именно свой скрипт (мало ли, может он сердцу дорог?) посмотрете как реализовано подключение контекста друпала в файле [ru-api=http://api.drupal.ru/api/file/cron.php/6/source]cron.php[/ru-api]
Как с правами разбираться, читайте тут [ru-api=http://api.drupal.ru/api/function/user_access/6]http://api.drupal.ru/api...

Аватар пользователя kosilko kosilko 14 марта 2010 в 1:59

для решения проблем сторонних скриптов (особенно если скрипт в виде единого файла) существует такая банальная вещь как нода с форматом ввода "PHP"... остается не забыть в начале кода приписать что-то вроде

if (!user_is_logged_in()) {
die(drupal_access_denied());
}

Аватар пользователя fit fit 14 марта 2010 в 2:05

Друзья, да мне не нужно выполнение скрипта)) страничка может быть и .html и .txt .pdf Smile там просто будет текст, но именно нужно что был в файле а не в ноде.

Аватар пользователя kosilko kosilko 14 марта 2010 в 2:37

"fit" wrote:
там просто будет текст, но именно нужно что был в файле а не в ноде.

Что-то мне подсказывает, что потребность ложить в корень сайта файлы и контролировать доступ к ним через друпал есть какая-то изначально неправильно поставленная задача.

Аватар пользователя Vladimir_VVV Vladimir_VVV 14 марта 2010 в 11:44

Вам в первом ответе дали привильный вариант решения Вашей задачи
Распишу подробнее: в ваш файл php вначале вставляете код


<?php
require_once './includes/bootstrap.inc';
drupal_bootstrap(DRUPAL_BOOTSTRAP_FULL);

if (!

user_is_logged_in()) {
die(
drupal_access_denied());
}
?>
Аватар пользователя Valentin_Avdeev Valentin_Avdeev 24 мая 2013 в 15:47

Возможно я здесь не совсем в тему но хотел бы спросить как реализовать выполнение php для незарегистрированных пользователей......есть нода в ней приинклуден /файл.php так вот для зарегистрированных пользователей информация из этого файла динамически обновляется а вот для незарегистрированных нет! Права у них одинаковые! Спасибо!