![Wordpress .htaccess - 权限与安全](https://linux22.com/image/726838/Wordpress%20.htaccess%20-%20%E6%9D%83%E9%99%90%E4%B8%8E%E5%AE%89%E5%85%A8.png)
设想
我正在为自己的网站制作一个 wordpress 插件,该插件需要访问网站的主.htaccess
文件。
通过安装脚本,我可以修改.htaccess
为644
允许664
我的服务器(apache2)直接写入.htaccess
。
问题
我担心的是安全性的局限性。我是否会面临一系列潜在的攻击?如果是这样,有什么更好的建议可以让我的.htaccess
wordpress 即 apache 可写?
编辑
apache2 用户www-data
在一台服务器上,但根据主机的设置,在另一台服务器上是不同的用户。我需要为此做好准备。
答案1
这是一个老问题,所以我不确定它是否仍然有意义,但这是我的看法。
我认为你并没有想太多,因为是的,该文件是可写的。因此,如果服务器上发生任何可疑的事情 - 例如基于更改/创建服务器上文件的攻击,攻击者将更容易破坏服务器或调整某些设置,这些设置可以通过 .htaccess 进行调整。
例如,您也可以更改 PHP 设置 - 如最大文件上传大小和执行时间以及您不希望攻击者更改的许多其他配置值,对吗?;)
所以我的看法是将其改为 440 并始终在生产环境中手动编辑它,因为无论如何都不需要经常更改它(当您部署新内容时,您只需将其更改一次为所需的设置即可)。
然而,在测试/开发环境中,在仔细评估其他安全风险之后,例如同一服务器上还有什么(是否有其他包含敏感数据的站点等),您可能希望将开发目的的级别保留为 660,以使开发人员的生活更轻松。
相信这是有道理的。OP 可能现在已经解决了这个问题,但我希望它能帮助其他遇到这个问题的人。
答案2
无论您做什么来让文件可被 Apache 写入,文件都会被 Apache 写入。
如果您只希望 Apache 能够更改一组有限的选项,则可以创建一个 setuid 程序,根据程序验证的某些输入进行这些更改。该程序不应设置为 root,而应设置为仅是文件所有者的某个用户。