写入文件夹和安全风险

时间:2012-08-23 10:45:25

标签: php permissions

我正在使用Thumbnail插件。它将拇指存储在webroot上的文件夹中。 但是当它试图保存拇指时,返回“无可写”错误。它的目录权限是755。 如果我将权限更改为777,则错误消失。但我在某处777阅读权限会导致安全问题。

我该怎么办?

3 个答案:

答案 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,无论如何)可以存储,并为其提供逻辑以从该文件夹中获取并提供服务它作为一个图像。这样,您就可以确保不会执行用户上传的任何文件。

这会花费更多的服务器资源,所以这是你应该考虑的事情。

如果文件是由您的应用创建的,并且用户无法直接修改它们,则授予其写入权限没有问题。