- Модуль: security
- Путь к файлу: ~/bitrix/modules/security/classes/general/tests/file_permissions.php
- Класс: CSecurityFilePermissionsTest
- Вызов: CSecurityFilePermissionsTest::check
public function check(array $params = array())
{
$this->initializeParams($params);
if(!self::isRunOnWin())
{
$folder = self::getParam("folder", $_SERVER["DOCUMENT_ROOT"]);
try
{
$this->checkWorldWritableDirRecursive($folder);
}
catch(Exception $e)
{
return array(
"name" => $this->getName(),
"status" => true,
"fatal_error_text" => GetMessage($e->getMessage())
);
}
}
if($this->filesCount <= self::MAX_OUTPUT_FILES)
$recommendationFilesCount = $this->filesCount;
else
$recommendationFilesCount = self::MAX_OUTPUT_FILES;
$additionalInfo = GetMessage("SECURITY_SITE_CHECKER_FILE_PERM_ADDITIONAL",array("#COUNT#" => $recommendationFilesCount));
$additionalInfo .= "
";
$additionalInfo .= $this->getFilesPathInString();
$result = array(
"name" => $this->getName(),
"problem_count" => 1,
"errors" => array(
array(
"title" => GetMessage("SECURITY_SITE_CHECKER_FILE_PERM_TITLE", array("#COUNT#" => $this->filesCount)),
"critical" => CSecurityCriticalLevel::HIGHT,
"detail" => GetMessage("SECURITY_SITE_CHECKER_FILE_PERM_DETAIL"),
"recommendation" => GetMessage("SECURITY_SITE_CHECKER_FILE_PERM_RECOMMENDATION"),
"additional_info" => $additionalInfo
)
),
"status" => ($this->filesCount <= 0)
);
return $result;
}