gpt4 book ai didi

支持 PHP Linux 安全模式的文件检查

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:54:33 25 4
gpt4 key购买 nike

我在我的 bootstrap 中有一个简单的检查,它应该检查一个目录是否可写。

我目前使用函数 http://php.net/manual/en/function.is-writable.php 来做这件事

但如文档中所述:

Keep in mind that PHP may be accessing the file as the user id that the web server runs as (often 'nobody'). Safe mode limitations are not taken into account.

它忽略了 Linux 进入安全模式的情况,这发生在我们 1 个月前,函数返回 true,即使文件写入是不可能的,因为它忽略了安全模式(大多数文件系统得到无所有者状态)

我怎样才能正确处理安全模式并让我的脚本死掉而不在每次检查时都创建一个新文件(会导致疯狂的性能问题)?

最佳答案

您可以使用 stat()函数或 fileperms()像这样的功能

function isWritable($file) {
$perms = fileperms($file);
if (is_writable($file)
|| ($perms & 0x0080) // owner writable
|| ($perms & 0x0010) // group writable
|| ($perms & 0x0002)) // world writable
return true;
}

关于支持 PHP Linux 安全模式的文件检查,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27419201/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com