miniBB Support Forums | 18 years on The Web
miniBB ® 

miniBB

®
  
 | Start | Register | Search | Statistics | File Bank | Manual |
Русские miniBB Support Forums / Русские /   
 

Ограничение доступа к загруженным файлам в закрытых форумах для неавторизованных пользователей

 
Author bestit
Partaker
#1 | Posted: 24 Nov 2018 13:38 
Доступ ко всем форумам закрыт через штатный механизм. Это все прекрасно работает.
Люди авторизуются, видят форумы, выкладывают файлы в стандартную папку сервера /shared_files/ через File Bank или File Upload

Но если я беру (подбираю) прямую ссылку на загруженный туда авторизованными пользователями файл/картинку, то я могу его открыть/скачать минуя авторизацию на сервер.

Это как-то можно перекрыть?
Через .htaccess, конфигурацию nginx или через добавление небольшого php кода, который для прямых ссылок будет проверять авторизован ли пользователь и не отдавать файл для "чужих".

Author Paul
Lead Developer
#2 | Posted: 24 Nov 2018 21:34 | Edited by: Paul 
bestit:
который для прямых ссылок будет проверять авторизован ли пользователь

Возможно, такой способ имеет место быть. Но мне о нём ничего неизвестно. В данном случае, сервер через .htaccess должен напрямую связываться с базой данных пользователей и осуществлять авторизацию-клон того, что представлено в форумном движке. Даже на начальном уровне мне подобный механизм представляется слишком сложным, т.к. miniBB всё-таки не единственный движок на планете, тысячи их. И с каждым сервер каким-то образом может дружить? Маловероятно.

Есть некая возможность проверять HTTP_REFERER и по нему запрещать загрузку изображений по прямым ссылкам, т.е. с оригинальной страницы/домена их можно посмотреть, а по прямым ссылкам - нет (я вижу, что вы уже знаете, как это сделать, в нижней части сообщения обозначено). Но это касается только изображений. Архивы, документы и проч. к этому не относятся.

В File Attachments есть такая настройка:

$origFileExt=TRUE;

Если её выставить как FALSE, то все файлы будут сохранены с расширением .mbb. Таким образом, их очень просто исключить из публичного просмотра через .htaccess (описано в README). При этом также нужно выставить настройку:

$closedContent=1;

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

Но в File Bank подобной возможности нет. Это полностью открытое хранилище данных.

Однако, вы можете комбинировать то и другое, File Bank - для открытых форумов, File Attachments с вышеупомянутыми настройками - для закрытых.

Author bestit
Partaker
#3 | Posted: 26 Nov 2018 11:52 
Павел, спасибо за развернутый ответ и совет.
Да, наверное, так и будет рекомендовать использовать File Attachments для документов, которые не желательны для публичного доступа. Просто пропишем это во внутренние правила.

Русские miniBB Support Forums / Русские /
 Ограничение доступа к загруженным файлам в закрытых форумах для неавторизованных пользователей
 Share Topic's Link

Your Reply Click this icon to move up to the quoted message


 ?
Post as a Guest, leaving the Password field blank. You could also enter a Guest name, if it's not taken by a member yet. Sign-in and post at once, or just sign-in, bypassing the message's text.


Before posting, make sure your message is compliant with our forum posting rules. If not, it may be locked or deleted with no explanation.

 

 
miniBB Support Forums Powered by Forum Software miniBB ® Home  Features  Requirements  Demo  Download  Showcase  Gallery of Arts
Compiler  Premium Extensions  Premium Support  License  Contact Us
Get the Captcha add-on: protect your miniBB-forums from the automated spam and flood.
 ⇑