我已经安装奥杰斯在我自己的服务器上。在安装过程中,需要创建一个 php(apache = www-data)可写但浏览器无法访问的文件夹。该文件夹用于保存已上传的手稿,这些手稿不能供公众查看,但必须由软件本身读取。我更改了 httpd.conf 文件以拒绝列出文件夹中的文件,但问题似乎并未完全解决。事实上,虽然文件名是随机的,但如果恶意或好奇的用户拥有原始手稿的确切文件名,他/她就可以下载该文件。请注意,我的服务器(ubuntu 12.04.4)中现在有许多这样的手稿。有什么方法可以拒绝下载它们(至少对于未注册为编辑者的未经授权的用户)?
答案1
这自述告诉你该怎么做。相关部分:
* 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