miniBB ® 

miniBB

®
Support Forums
  
 | 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 
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 forum rules; otherwise it could be locked or removed 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.


  ⇑