define("ADMIN_MODULE_NAME", "security"); require_once($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_admin_before.php"); CModule::IncludeModule('security'); 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; $_GET["return_url"] = $_GET["return_url"] ?? ""; if($_SERVER["REQUEST_METHOD"] == "POST" && (isset($_REQUEST["save"]) || isset($_REQUEST["apply"]) || isset($_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", isset($_POST["filter_stop"]) && $_POST["filter_stop"]==="Y"? "Y": "N"); COption::SetOptionInt("security", "filter_duration", $_POST["filter_duration"]); COption::SetOptionString("security", "filter_log", isset($_POST["filter_log"]) && $_POST["filter_log"]==="Y"? "Y": "N"); CSecurityFilterMask::Update($_POST["FILTER_MASKS"]); if(isset($_REQUEST["save"]) && $_GET["return_url"] != "") LocalRedirect($_GET["return_url"]); $returnUrl = $_GET["return_url"]? "&return_url=".urlencode($_GET["return_url"]): ""; LocalRedirect("/bitrix/admin/security_filter.php?lang=".LANGUAGE_ID.$returnUrl."&".$tabControl->ActiveTabParam()); } $rsSecurityFilterExclMask = CSecurityFilterMask::GetList(); if($rsSecurityFilterExclMask->Fetch()) $bSecurityFilterExcl = true; else $bSecurityFilterExcl = false; $messageDetails = ""; if (CSecurityFilter::IsActive()) { $messageType = "OK"; $messageText = GetMessage("SEC_FILTER_ON"); if($bSecurityFilterExcl) $messageDetails = "".GetMessage("SEC_FILTER_EXCL_FOUND").""; } else { $messageType = "ERROR"; $messageText = GetMessage("SEC_FILTER_OFF"); } $APPLICATION->SetTitle(GetMessage("SEC_FILTER_TITLE")); CUtil::InitJSCore(); $APPLICATION->AddHeadScript('/bitrix/js/security/admin/interface.js'); require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_admin_after.php"); CAdminMessage::ShowMessage(array( "MESSAGE"=>$messageText, "TYPE"=>$messageType, "DETAILS"=>$messageDetails, "HTML"=>true )); ?>