Exemple #1
0
 function InstallDB($arParams = array())
 {
     global $DB, $DBType, $APPLICATION;
     $this->errors = false;
     // Database tables creation
     if (!$DB->Query("SELECT 'x' FROM b_sec_iprule WHERE 1=0", true)) {
         $this->errors = $DB->RunSQLBatch($_SERVER["DOCUMENT_ROOT"] . "/bitrix/modules/security/install/db/" . strtolower($DB->type) . "/install.sql");
     }
     if ($this->errors !== false) {
         $APPLICATION->ThrowException(implode("<br>", $this->errors));
         return false;
     } else {
         $this->InstallTasks();
         RegisterModule("security");
         RegisterModuleDependences("main", "OnUserDelete", "security", "CSecurityUser", "OnUserDelete");
         RegisterModuleDependences("main", "OnEventLogGetAuditTypes", "security", "CSecurityFilter", "GetAuditTypes");
         RegisterModuleDependences("main", "OnEventLogGetAuditTypes", "security", "CSecurityAntiVirus", "GetAuditTypes");
         RegisterModuleDependences("main", "OnAdminInformerInsertItems", "security", "CSecurityFilter", "OnAdminInformerInsertItems");
         RegisterModuleDependences("main", "OnAdminInformerInsertItems", "security", "CSecuritySiteChecker", "OnAdminInformerInsertItems");
         CModule::IncludeModule("security");
         //agents
         CAgent::RemoveAgent("CSecuritySession::CleanUpAgent();", "security");
         CAgent::Add(array("NAME" => "CSecuritySession::CleanUpAgent();", "MODULE_ID" => "security", "ACTIVE" => "Y", "AGENT_INTERVAL" => 1800, "IS_PERIOD" => "N"));
         CAgent::RemoveAgent("CSecurityIPRule::CleanUpAgent();", "security");
         CAgent::Add(array("NAME" => "CSecurityIPRule::CleanUpAgent();", "MODULE_ID" => "security", "ACTIVE" => "Y", "AGENT_INTERVAL" => 3600, "IS_PERIOD" => "N"));
         if (!COption::GetOptionString("security", "ipcheck_disable_file")) {
             COption::SetOptionString("security", "ipcheck_disable_file", "/bitrix/modules/ipcheck_disable_" . md5(mt_rand()));
         }
         CAgent::RemoveAgent("CSecurityFilter::ClearTmpFiles();", "security");
         CSecurityFilter::SetActive(true);
         CSecurityAntiVirus::SetActive(true);
         return true;
     }
 }
IncludeModuleLangFile(__FILE__);
/**
 * @global CUser $USER
 * @global CMain $APPLICATION
 **/
$canRead = $USER->CanDoOperation('security_filter_settings_read');
$canWrite = $USER->CanDoOperation('security_filter_settings_write');
if (!$canRead && !$canWrite) {
    $APPLICATION->AuthForm(GetMessage("ACCESS_DENIED"));
}
$aTabs = array(array("DIV" => "main", "TAB" => GetMessage("SEC_FILTER_MAIN_TAB"), "ICON" => "main_user_edit", "TITLE" => GetMessage("SEC_FILTER_MAIN_TAB_TITLE")), array("DIV" => "params", "TAB" => GetMessage("SEC_FILTER_PARAMETERS_TAB"), "ICON" => "main_user_edit", "TITLE" => GetMessage("SEC_FILTER_PARAMETERS_TAB_TITLE")), array("DIV" => "exceptions", "TAB" => GetMessage("SEC_FILTER_EXCEPTIONS_TAB"), "ICON" => "main_user_edit", "TITLE" => GetMessage("SEC_FILTER_EXCEPTIONS_TAB_TITLE")));
$tabControl = new CAdminTabControl("tabControl", $aTabs, true, true);
$bVarsFromForm = false;
if ($_SERVER["REQUEST_METHOD"] == "POST" && $_REQUEST["save"] . $_REQUEST["apply"] . $_REQUEST["filter_siteb"] != "" && $canWrite && check_bitrix_sessid()) {
    if ($_REQUEST["filter_siteb"] != "") {
        CSecurityFilter::SetActive($_POST["filter_active"] === "Y");
    }
    if ($_POST["filter_action"] === "clear") {
        COption::SetOptionString("security", "filter_action", "clear");
    } elseif ($_POST["filter_action"] === "none") {
        COption::SetOptionString("security", "filter_action", "none");
    } else {
        COption::SetOptionString("security", "filter_action", "filter");
    }
    COption::SetOptionString("security", "filter_stop", $_POST["filter_stop"] === "Y" ? "Y" : "N");
    COption::SetOptionInt("security", "filter_duration", $_POST["filter_duration"]);
    COption::SetOptionString("security", "filter_log", $_POST["filter_log"] === "Y" ? "Y" : "N");
    CSecurityFilterMask::Update($_POST["FILTER_MASKS"]);
    if ($_REQUEST["save"] != "" && $_GET["return_url"] != "") {
        LocalRedirect($_GET["return_url"]);
    }