写入文件夹和安全风险


write to a folder and the security risks

我使用的是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等)可以访问的地方,并为其从该文件夹中获取并作为图像提供逻辑。这样,就可以确保用户上传的任何文件都不会被执行。

这将花费更多的服务器资源,所以这是您应该考虑的问题。

如果这些文件是由你的应用程序创建的,用户无法直接修改它们,那么授予它写入权限是没有问题的。