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_redirect_settings_read'); $canWrite = $USER->CanDoOperation('security_redirect_settings_write'); if(!$canRead && !$canWrite) $APPLICATION->AuthForm(GetMessage("ACCESS_DENIED")); $aTabs = array( array( "DIV" => "main", "TAB" => GetMessage("SEC_REDIRECT_MAIN_TAB"), "ICON"=>"main_user_edit", "TITLE"=>GetMessage("SEC_REDIRECT_MAIN_TAB_TITLE"), ), array( "DIV" => "parameters", "TAB" => GetMessage("SEC_REDIRECT_PARAMETERS_TAB"), "ICON"=>"main_user_edit", "TITLE"=>GetMessage("SEC_REDIRECT_PARAMETERS_TAB_TITLE"), ), ); $tabControl = new CAdminTabControl("tabControl", $aTabs, true, true); $_GET["return_url"] = $_GET["return_url"] ?? ""; $returnUrl = $_GET["return_url"]? "&return_url=".urlencode($_GET["return_url"]): ""; if( $_SERVER['REQUEST_METHOD'] == "POST" && (isset($_REQUEST['save']) || isset($_REQUEST['apply']) || isset($_REQUEST['redirect_button'])) && $canWrite && check_bitrix_sessid() ) { if(isset($_REQUEST['redirect_button']) && $_REQUEST['redirect_button']!="") CSecurityRedirect::SetActive($_POST["redirect_active"] === "Y"); COption::SetOptionString("security", "redirect_log", isset($_POST["redirect_log"]) && $_POST["redirect_log"]==="Y"? "Y": "N"); COption::SetOptionString("security", "redirect_referer_check", isset($_POST["redirect_referer_check"]) && $_POST["redirect_referer_check"]==="Y"? "Y": "N"); COption::SetOptionString("security", "redirect_referer_site_check", isset($_POST["redirect_referer_site_check"]) && $_POST["redirect_referer_site_check"]==="Y"? "Y": "N"); COption::SetOptionString("security", "redirect_href_sign", isset($_POST["redirect_href_sign"]) && $_POST["redirect_href_sign"]==="Y"? "Y": "N"); if ($_POST["redirect_action"] === "show_message_and_stay") { COption::SetOptionString("security", "redirect_action", $_POST["redirect_action"]); COption::RemoveOption("security", "redirect_message_warning"); $l = CLanguage::GetList(); while($ar = $l->Fetch()) { $mess = trim($_POST["redirect_message_warning_".$ar["LID"]]); if($mess <> '') COption::SetOptionString("security", "redirect_message_warning_".$ar["LID"], $mess); else COption::RemoveOption("security", "redirect_message_warning_".$ar["LID"]); } COption::SetOptionString("security", "redirect_message_charset", LANG_CHARSET); } else { COption::SetOptionString("security", "redirect_action", "force_url"); COption::SetOptionString("security", "redirect_url", $_POST["redirect_url"]); } CSecurityRedirect::Update($_POST["URLS"]); if(isset($_REQUEST["save"]) && $_GET["return_url"] != "") LocalRedirect($_GET["return_url"]); else LocalRedirect("/bitrix/admin/security_redirect.php?lang=".LANGUAGE_ID.$returnUrl."&".$tabControl->ActiveTabParam()); } $APPLICATION->SetTitle(GetMessage("SEC_REDIRECT_TITLE")); CUtil::InitJSCore(); $APPLICATION->AddHeadScript('/bitrix/js/security/admin/interface.js'); require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_admin_after.php"); if (CSecurityRedirect::IsActive()) { $messageType = "OK"; $messageText = GetMessage("SEC_REDIRECT_ON"); } else { $messageType = "ERROR"; $messageText = GetMessage("SEC_REDIRECT_OFF"); } CAdminMessage::ShowMessage(array( "MESSAGE" => $messageText, "TYPE" => $messageType, "HTML" => true )); ?>