【发布时间】:2018-03-07 17:54:39
【问题描述】:
我已经设置了一个演示“管理员”网站,所有文件权限设置为 555 的目录和 444 的文件,以便禁用任何“保存”功能。到目前为止一切顺利。
但是,我注意到 PHP touch() 函数不受文件权限的影响?我在没有写入权限(555)的目录上成功运行 PHP touch()。似乎有点奇怪。这是预期的行为(PHP 7.2)吗?
我试图阻止 touch() 能够执行(通过文件权限),但目前无法看到这是怎么可能的。
谢谢。
【问题讨论】:
-
您确实看到文件的修改时间发生了变化?
-
PHP 是否以特权用户身份运行?
-
操作系统强制执行权限,PHP 无法绕过它们,除非它以
root运行。 -
@ceejayoz 是的,经过测试和验证。
-
允许文件的所有者更改其时间戳,即使没有写入权限。
标签: php permissions filemtime php-7.2