Drupal 7, только зарегистрированные пользователи могут просматривать на узле, но любой может скачать по ссылке, проблема htaccess? - PullRequest
1 голос
/ 01 апреля 2011

У меня есть файлы, прикрепленные к пользовательскому типу контента, у меня есть поле, настроенное для частной загрузки.У меня также есть права доступа к полям, поэтому только зарегистрированные пользователи, которые зарегистрировались (автоматическое назначение ролей), могут просматривать ссылку для загрузки на странице узла.Это работает нормально, администратор и пользователи с определенной ролью могут видеть файл для загрузки, но моя проблема в том, что любой может получить копию ссылки, например, http://develop.ment/system/files/test/SuperSecret.txt, и может без проблем загрузить файл или зарегистрироваться.

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

Кажется глупым иметь такие ограничения, доступные через drupal, но любой может легко загрузить файл независимо от того, какие разрешения я установил.

Так, ребята, что мне не хватает?Кажется, что .htaccess может исправить это, я просто не знаю, как и с чего начать.Да, и файлы хранятся в /var/www/vhosts/develop.ment/private, где, как на самом деле разрабатывается корень документа .ment / httpdocs, это влияет на проблему?Кажется, безопаснее хранить личные загрузки вне DocRoot.

Ответы [ 2 ]

0 голосов
/ 17 июня 2011

На самом деле была серьезная ошибка безопасности, исправленная в Drupal 7.1 и 7.2.См. Раздел Обход доступа в Файловом модуле в SA-CORE-2011-001 - Ядро Drupal - Многочисленные уязвимости .

Моя установка на Drupal установлена ​​на 7.2.Я использую модуль Content Access для управления доступом к отдельным узлам.Если я установлю управление доступом так, чтобы узел был доступен для просмотра только аутентифицированным пользователям, то прикрепленный закрытый файл (в моем случае, поле изображения) также будет виден только аутентифицированным пользователям.Анонимный пользователь не может получить доступ к файлу, указав http://example.com/system/files/some-image.jpg напрямую.Если я сделаю узел видимым для всех, тогда этот URL снова станет напрямую доступным.

Вы используете Полевые разрешения , а не Доступ к содержимому .Я не проверял этот случай, но вы можете обновить его до 7.1 или 7.2 и посмотреть, сработает ли он после этого.

0 голосов
/ 20 апреля 2011

Вы должны использовать модуль imce для загрузки.он позволяет вам обслуживать ваши личные файлы (т. е. файл, доступ к которому ограничен автоматически созданным .htaccess) самим drupal, а не из apache.

Затем настройте IMCE по роли для определения прав доступа.

...