IsAdmin()) $APPLICATION->AuthForm(GetMessage("ACCESS_DENIED")); if($_SERVER['REQUEST_METHOD'] == "POST" && check_bitrix_sessid() && (isset($_POST["action"]) || isset($_POST["save"]) || isset($_POST["apply"])) ) { $result = "error"; if(isset($_POST["action"]) && $_POST["action"] == "save") { if(isset($_POST["results"]) && is_array($_POST["results"])) { CUtil::JSPostUnescape(); $resultsForSave = $_POST["results"]; } else { $resultsForSave = array(); } if(CSecuritySiteChecker::addResults($resultsForSave)) { $result = "ok"; } } elseif(isset($_POST["action"]) && $_POST["action"] == "check") { $isFirstStart = isset($_POST["first_start"]) && $_POST["first_start"] == "Y"; $isCheckRequirementsNeeded = !isset($_REQUEST["check_requirements"]) || $_REQUEST["check_requirements"] != "N"; $neededTestPackages = ""; $result = CSecuritySiteChecker::runTestPackage($neededTestPackages, $isFirstStart, $isCheckRequirementsNeeded); } else { $result = "Action not found!"; } $APPLICATION->RestartBuffer(); header('Content-Type: application/x-javascript; charset='.LANG_CHARSET); die(CUtil::PhpToJsObject($result)); } CUtil::InitJSCore(); $APPLICATION->AddHeadScript('/bitrix/js/security/admin/page/scanner.js'); CSecuritySiteChecker::clearTemporaryData(); $aTabs = array( array( "DIV" => "main", "TAB" => GetMessage("SEC_SCANNER_MAIN_TAB"), "TITLE"=>GetMessage("SEC_SCANNER_TITLE"), ), ); $tabControl = new CAdminTabControl("tabControl", $aTabs, false, true); $lastTestingInfo = CSecuritySiteChecker::getLastTestingInfo(); if(isset($lastTestingInfo["results"])) { $lastResults = $lastTestingInfo["results"]; } else { $lastResults = array(); } if(!empty($lastResults)) { $criticalResultsCount = CSecuritySiteChecker::calculateCriticalResults($lastResults); } else { $criticalResultsCount = 0; } if(isset($lastTestingInfo["test_date"])) { $lastDate = $lastTestingInfo["test_date"]; } else { $lastDate = ""; } $maxExecutionTime = ini_get("max_execution_time"); $startupError = null; if ($maxExecutionTime > 0 && $maxExecutionTime < 30) { $startupError = array( "MESSAGE" => GetMessage("SEC_SCANNER_EXECUTION_TIME_TITLE"), "TYPE" => "ERROR", "DETAILS" => GetMessage("SEC_SCANNER_EXECUTION_TIME_DESCRIPTION", array('#MIN#' => 30)), "HTML"=> false ); } $APPLICATION->SetTitle(GetMessage("SEC_SCANNER_TITLE")); require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_admin_after.php"); if ($startupError): CAdminMessage::ShowMessage($startupError); else: ?>