Я установил ojs на моем собственном сервере. В процессе установки необходимо создать папку, доступную для записи php (apache = www-data), но не доступную из браузера. Папка используется для сохранения загруженных рукописей, которые не должны быть доступны для всеобщего просмотра, но должны быть доступны для чтения самой программой. Я изменил файл httpd.conf, чтобы запретить перечисление файлов в папке, но проблема, похоже, не решена полностью. Фактически, хотя имена файлов случайны, если злонамеренный или любопытный пользователь знает точное имя файла исходной рукописи, он / она может загрузить файл. Обратите внимание, что сейчас на моем сервере (ubuntu 12.04.4) имеется множество таких рукописей. Могу ли я как-нибудь запретить им загрузку (по крайней мере, для неавторизованных пользователей, не зарегистрированных в качестве редактора)?
В ПРОЧТИ МЕНЯ сказал тебе, что делать. Соответствующие части:
* Install OJS so that the files directory is NOT a subdirectory of
the OJS installation and cannot be accessed directly via the web
server.
3. Create a directory to store uploaded files (submission files, etc.)
and make this directory writeable. It is recommended that this
directory be placed in a non-web-accessible location (or otherwise
protected from direct access, such as via .htaccess rules).
Это означает, что каталог файлов, который вы используете для загрузки, не должен находиться под DocumentRoot
. Конечно, вы должны указать его местоположение в config.inc.php
если вы уже завершили установку.
[files]
; Complete path to directory to store uploaded files
; (This directory should not be directly web-accessible)
; Windows users should use forward slashes
files_dir = files