我正在使用Thumbnail
插件。它将拇指存储在webroot上的文件夹中。 但是当它试图保存拇指时,返回“不可写入”错误。它的目录权限是755
。 如果我将权限更改为777
,则错误消失。但我在某处读取777
权限可能会导致安全问题。写入文件夹和安全风险
我该怎么办?
我正在使用Thumbnail
插件。它将拇指存储在webroot上的文件夹中。 但是当它试图保存拇指时,返回“不可写入”错误。它的目录权限是755
。 如果我将权限更改为777
,则错误消失。但我在某处读取777
权限可能会导致安全问题。写入文件夹和安全风险
我该怎么办?
你可以改变所有者(例如在Linux chown www-data:www-data your/direcotry/path
)
chown [OPTIONS] [Owner][:[Group]] FilenameOrFoldername
的web服务器用户(谁执行PHP脚本的用户)拥有的目录,然后他有写访问,你可以离开权利755.
7 5 5 = RWX RX RX
- [R EAD瓦特仪式ËX ecute
第一位数=所有者
第二位数=组
第三位数=所有其他用户
意味着只有所有者具有写访问(他能在这种情况下,WWW的数据用户文件添加到目录),该组(www-data)具有读取和执行权限,其余部分也具有读取和执行权限,所以不应该有755的安全风险。
Here您有一个工具,您可以在其中计算右侧 - > chmod号码转换
权利被写作所有者/组/其他人,我认为你可以使用775权利为你的逻辑。
您可以将其存储在Web服务器(如apache或nginx)无法访问但您的Web应用服务器(php,java servlet,无论)能够访问的位置,并为其创建逻辑以从该文件夹中抓取它并将其作为图像提供。这样,您可以确保用户上传的任何文件都不会被执行。
这会花费更多的服务器资源,所以这是你应该考虑的。
如果文件是由您的应用程序创建的,并且用户无法直接修改它们,那么授予它写入权限没有问题。
这似乎是正确的解决方案,只给需要它的用户提供正确的权限。 – bdares