На хостинге файлы private могут быть доступны публично. Backup and Migrate ругается. А на локалке все ОК.

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

Аватар пользователя Antoniy Antoniy 16 июля 2013 в 16:54

Делал сайт на локалке, все ОК: когда лезешь скачать дамп Backup and Migrate по прямому пути, то Апач показывает болт.

Залил сайт на хостинг: директории private показывают Error 403, как и должно быть, но файлы бэкапа доступны для скачивания.
Соответственно Backup and Migrate отказывается сохранять дампы в manual, сообщая что они будут доступны публично.

Не пойму в чем дело. Гуглил, но так и не нашел ответа. Менял chmod на эти директории разные, все одно и то же.
Если Апач у хостера такой, то подскажите, плиз, с чем конкретно к нему идти ругаться?

Комментарии

Аватар пользователя Antoniy Antoniy 17 июля 2013 в 10:39

"fun.boojum" wrote:
лежит .htaccess

Везде он лежит в приватах. Как и было на локалке.
Код там дефолтовый

SetHandler Drupal_Security_Do_Not_Remove_See_SA_2006_006
Deny from all
Options None
Options +FollowSymLinks
Аватар пользователя sibero sibero 17 июля 2013 в 22:16

Напишите техподдержке хостера, что не подхватывается "Deny from all" из .htaccess. Похоже особенности настройки apache на сервере.

Аватар пользователя Antoniy Antoniy 17 июля 2013 в 22:21

"sibero777" wrote:
не подхватывается "Deny from all" из .htaccess

Ну я так и подумываю.

Просто странно. Если в директории только другая директория и нет файлов, то Deny from all подхватывается, а если в директории есть файлы, то не подхватывается. Такое может быть?

Аватар пользователя Antoniy Antoniy 18 июля 2013 в 18:06

"sibero777" wrote:
Напишите техподдержке хостера

Файлы txt статичные не выдаются, только дампы Backup and Migrate

Ответ хостера:
"На наших серверах используется схема работы, при которой статичные файлы (в частности, gz) передаются с помощью Nginx, запросы динамических страниц и файлов, которые отсутствуют на сервере, передаются Apache. Поэтому файл .htaccess для отключения доступа в данном случае не работает.

Для решения можно использовать следующий вариант:
В скриптах сайта можно использовать ссылки на файлы, которые физически отсутствуют (например, для файлов на сервере использовать формат gzx), и осуществлять перенаправления с помощью .htaccess."

На другом хостинге такая же проблема.

Что же делать.. В Backup and Migrate нет поддержки gzx. Да и если осуществлять перенаправления с помощью .htaccess то не думаю, что модуль перестанет ругаться.

Аватар пользователя sibero sibero 25 июля 2013 в 1:15

У nginx нет аналога .htaccess для создания своих правил каждым пользователем.
В таком случае вижу два варианта:
1) Правильный. Указать для сохранения бэкапов директорию недоступную из веба (выше директории домена).
2) С извращениями. Сохранять дамп со своим уникальным типом, к примеру .backup и блочить к нему доступ через .htaccess . Ну либо использовать предложенный вариант с симлинками.

Аватар пользователя Antoniy Antoniy 25 июля 2013 в 10:47

"sibero777" wrote:
В таком случае вижу два варианта:

Спасибо.

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

2 вариант модуль Backup and Migrate поддерживает без сжатия и zip, gzip, bzip. Чтобы было нестандартное расширение я не знаю как сделать. Есть вариант шифровать с AES, потом расширение будет .aes, но эта функция в бете и расшифровка не получилась, когда я хотел сделать рестор. Но это не важно, ибо Backup and Migrate и с шифрованием отказывается сохранять на сервере.

Единственное что вижу, это как то редиректы сделать в .htaccess, но не знаю можно ли так обмануть Backup and Migrate, чтобы он не ругался.

Так то. Когда тестируете хостинг, то на такие вещи тоже внимание надо обращать.

Аватар пользователя Antoniy Antoniy 25 июля 2013 в 10:54

Есть у меня еще один хостинг. Файлы Backup and Migrate так же скачиваются из привата. Но модуль сохраняет их и не ругается. Да и можно сохранять в директорию private, которая выше директории Drupal, тогда их и не скачаешь.