【问题标题】:file_put_contents() needs dangerous 777 accessfile_put_contents() 需要危险的 777 访问
【发布时间】:2014-10-06 06:50:18
【问题描述】:

不是一个特定的编码问题,但我搜索的每个线程都涉及人们谈论 777 服务器文件的问题,而不是 php。

我意识到出于安全考虑,我不应该在我的服务器上设置 777 文件权限。有没有更安全的方法来使用file_put_contents()之类的php文件编写代码?如果我没有在我的服务器上设置文件权限,代码将不起作用并且我得到错误。

【问题讨论】:

  • 可能755就够了
  • 可能666就够了?另外,最好更改文件所有者(检查网络服务器用户)
  • 什么安全问题?您的服务器上的默认设置似乎阻止了 Web 服务器写入文件。如果你想写,你显然必须改变这些权限。对于目录,您需要 777,对于文件 666 应该足够了。
  • 关于每个人都能够在您的服务器上放置随机文件的安全问题...
  • @LazyPeon 我并没有淡化 777 权限的风险,但与由于糟糕的编码(通常是 PHP 代码的情况)而任意运行代码相比,它仍然不是一个问题。

标签: php apache security 777


【解决方案1】:

通常,您应该只提供所需的最低权限。

对于需要可执行的文件,目录一般设置为755(drwxr-xr-x)或750,文件644(-rw-r--r--)。这并不是说某些环境没有通常设置得更低的权限——这取决于哪个用户和组拥有文件或目录。

有时需要将上传目录设置为 777,尽管您确实不应该从与上传项目的目录相同的目录执行脚本。原因是它可以打开可能的攻击媒介的闸门。如果你需要执行一些可能会上传的东西,那么你可以考虑将mvcp 放到另一个目录中,然后执行它。

【讨论】:

  • 我的脚本和上传的(公共)文件位于不同的目录中。我很好奇的是设置 777 会对我有什么伤害吗?因为在这个特定的服务器上,如果我尝试在其上写入文件,755 会返回错误。
猜你喜欢
  • 1970-01-01
  • 2013-03-19
  • 2021-11-29
  • 1970-01-01
  • 2021-07-07
  • 1970-01-01
  • 2013-09-29
相关资源
最近更新 更多