我使用的是Thumbnail
插件。它将拇指存储在webroot上的文件夹中。但当它试图保存拇指时,会返回"不可写"错误。其目录权限为CCD_ 2。如果我将权限更改为777
,则错误将消失。但我在某个地方读到777
权限可能会导致安全问题。。
我该怎么办?
您可以更改所有者(例如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
readwrite ex执行
第一位=所有者
第二位=组
第三位=所有其他用户
意味着只有所有者有写访问权限(在这种情况下,他可以将文件添加到目录中,在www数据用户中),组(www数据)有读取和执行权限,其余的也有读取和运行权限,因此不应该有755的安全risc。
这里有一个工具,您可以在其中计算右侧->chmod数字转换
权限写为owner/group/other,我认为您可以使用775权限进行逻辑。
您可以将其存储在web服务器(如apache或nginx)无法访问但web应用程序服务器(php、javaservlet等)可以访问的地方,并为其从该文件夹中获取并作为图像提供逻辑。这样,就可以确保用户上传的任何文件都不会被执行。
这将花费更多的服务器资源,所以这是您应该考虑的问题。
如果这些文件是由你的应用程序创建的,用户无法直接修改它们,那么授予它写入权限是没有问题的。