我正在使用Thumbnail
插件。它将拇指存储在webroot上的文件夹中。
但是当它试图保存拇指时,返回“无可写”错误。它的目录权限是755
。
如果我将权限更改为777
,则错误消失。但我在某处777
阅读权限会导致安全问题。
我该怎么办?
答案 0 :(得分:1)
你可以更改所有者(例如linux中的chown www-data:www-data your/direcotry/path
)
chown [OPTIONS] [Owner][:[Group]] FilenameOrFoldername
Web服务器用户(执行php脚本的用户)拥有该目录,然后他具有写访问权限,您可以将权限保留为755。
7 5 5 = rwx r-x r-x
r ead w rite e x ecute
第一个数字=所有者
第二位=组
第三位=所有其他用户
表示只有所有者具有写入权限(他可以将文件添加到目录中,在这种情况下为www-data用户),组(www-data)具有读取和执行权限,其余部分具有读取和执行权限,所以不应该有755的安全危险。
Here你有一个可以计算权利的工具 - > chmod数转换
答案 1 :(得分:0)
权利被写为所有者/群组/其他,我认为您可以使用775权利作为您的逻辑。
答案 2 :(得分:0)
您可以将它存储在Web服务器(如apache或nginx)无法访问的位置,但您的Web应用服务器(php,java servlet,无论如何)可以存储,并为其提供逻辑以从该文件夹中获取并提供服务它作为一个图像。这样,您就可以确保不会执行用户上传的任何文件。
这会花费更多的服务器资源,所以这是你应该考虑的事情。
如果文件是由您的应用创建的,并且用户无法直接修改它们,则授予其写入权限没有问题。