發現這段代碼中FrogCms文件權限混亂
function isWritable($file=null) {
$perms = fileperms($file);
if (is_writable($file) || ($perms & 0x0080) || ($perms & 0x0010) || ($perms & 0x0002))
return true;
}
我有一個很難理解這部分
(is_writable($file) || ($perms & 0x0080) || ($perms & 0x0010) || ($perms & 0x0002))
做一些研究之後,我知道0x0080
是人的許可,0x0010
是組織的許可和0x0002
是其他許可。這個值來自何處?這是權限系統的預定值嗎?
而且可以有人向我解釋,例如如何$perms & 0x0080
決心如此,原因例如fileperms(__FILE__)
回到像33206.How值u能 與0x0080比較33206?
由於權限被分組爲三元組,人們通常使用它們的八進制值。不是十六進制或小數。這可能來自可怕的手動示例。 – mario