/** * Theme functions and definitions * * @package HelloElementor */ if ( ! defined( 'ABSPATH' ) ) { exit; // Exit if accessed directly. } define( 'HELLO_ELEMENTOR_VERSION', '3.4.4' ); define( 'EHP_THEME_SLUG', 'hello-elementor' ); define( 'HELLO_THEME_PATH', get_template_directory() ); define( 'HELLO_THEME_URL', get_template_directory_uri() ); define( 'HELLO_THEME_ASSETS_PATH', HELLO_THEME_PATH . '/assets/' ); define( 'HELLO_THEME_ASSETS_URL', HELLO_THEME_URL . '/assets/' ); define( 'HELLO_THEME_SCRIPTS_PATH', HELLO_THEME_ASSETS_PATH . 'js/' ); define( 'HELLO_THEME_SCRIPTS_URL', HELLO_THEME_ASSETS_URL . 'js/' ); define( 'HELLO_THEME_STYLE_PATH', HELLO_THEME_ASSETS_PATH . 'css/' ); define( 'HELLO_THEME_STYLE_URL', HELLO_THEME_ASSETS_URL . 'css/' ); define( 'HELLO_THEME_IMAGES_PATH', HELLO_THEME_ASSETS_PATH . 'images/' ); define( 'HELLO_THEME_IMAGES_URL', HELLO_THEME_ASSETS_URL . 'images/' ); if ( ! isset( $content_width ) ) { $content_width = 800; // Pixels. } if ( ! function_exists( 'hello_elementor_setup' ) ) { /** * Set up theme support. * * @return void */ function hello_elementor_setup() { if ( is_admin() ) { hello_maybe_update_theme_version_in_db(); } if ( apply_filters( 'hello_elementor_register_menus', true ) ) { register_nav_menus( [ 'menu-1' => esc_html__( 'Header', 'hello-elementor' ) ] ); register_nav_menus( [ 'menu-2' => esc_html__( 'Footer', 'hello-elementor' ) ] ); } if ( apply_filters( 'hello_elementor_post_type_support', true ) ) { add_post_type_support( 'page', 'excerpt' ); } if ( apply_filters( 'hello_elementor_add_theme_support', true ) ) { add_theme_support( 'post-thumbnails' ); add_theme_support( 'automatic-feed-links' ); add_theme_support( 'title-tag' ); add_theme_support( 'html5', [ 'search-form', 'comment-form', 'comment-list', 'gallery', 'caption', 'script', 'style', 'navigation-widgets', ] ); add_theme_support( 'custom-logo', [ 'height' => 100, 'width' => 350, 'flex-height' => true, 'flex-width' => true, ] ); add_theme_support( 'align-wide' ); add_theme_support( 'responsive-embeds' ); /* * Editor Styles */ add_theme_support( 'editor-styles' ); add_editor_style( 'editor-styles.css' ); /* * WooCommerce. */ if ( apply_filters( 'hello_elementor_add_woocommerce_support', true ) ) { // WooCommerce in general. add_theme_support( 'woocommerce' ); // Enabling WooCommerce product gallery features (are off by default since WC 3.0.0). // zoom. add_theme_support( 'wc-product-gallery-zoom' ); // lightbox. add_theme_support( 'wc-product-gallery-lightbox' ); // swipe. add_theme_support( 'wc-product-gallery-slider' ); } } } } add_action( 'after_setup_theme', 'hello_elementor_setup' ); function hello_maybe_update_theme_version_in_db() { $theme_version_option_name = 'hello_theme_version'; // The theme version saved in the database. $hello_theme_db_version = get_option( $theme_version_option_name ); // If the 'hello_theme_version' option does not exist in the DB, or the version needs to be updated, do the update. if ( ! $hello_theme_db_version || version_compare( $hello_theme_db_version, HELLO_ELEMENTOR_VERSION, '<' ) ) { update_option( $theme_version_option_name, HELLO_ELEMENTOR_VERSION ); } } if ( ! function_exists( 'hello_elementor_display_header_footer' ) ) { /** * Check whether to display header footer. * * @return bool */ function hello_elementor_display_header_footer() { $hello_elementor_header_footer = true; return apply_filters( 'hello_elementor_header_footer', $hello_elementor_header_footer ); } } if ( ! function_exists( 'hello_elementor_scripts_styles' ) ) { /** * Theme Scripts & Styles. * * @return void */ function hello_elementor_scripts_styles() { if ( apply_filters( 'hello_elementor_enqueue_style', true ) ) { wp_enqueue_style( 'hello-elementor', HELLO_THEME_STYLE_URL . 'reset.css', [], HELLO_ELEMENTOR_VERSION ); } if ( apply_filters( 'hello_elementor_enqueue_theme_style', true ) ) { wp_enqueue_style( 'hello-elementor-theme-style', HELLO_THEME_STYLE_URL . 'theme.css', [], HELLO_ELEMENTOR_VERSION ); } if ( hello_elementor_display_header_footer() ) { wp_enqueue_style( 'hello-elementor-header-footer', HELLO_THEME_STYLE_URL . 'header-footer.css', [], HELLO_ELEMENTOR_VERSION ); } } } add_action( 'wp_enqueue_scripts', 'hello_elementor_scripts_styles' ); if ( ! function_exists( 'hello_elementor_register_elementor_locations' ) ) { /** * Register Elementor Locations. * * @param ElementorPro\Modules\ThemeBuilder\Classes\Locations_Manager $elementor_theme_manager theme manager. * * @return void */ function hello_elementor_register_elementor_locations( $elementor_theme_manager ) { if ( apply_filters( 'hello_elementor_register_elementor_locations', true ) ) { $elementor_theme_manager->register_all_core_location(); } } } add_action( 'elementor/theme/register_locations', 'hello_elementor_register_elementor_locations' ); if ( ! function_exists( 'hello_elementor_content_width' ) ) { /** * Set default content width. * * @return void */ function hello_elementor_content_width() { $GLOBALS['content_width'] = apply_filters( 'hello_elementor_content_width', 800 ); } } add_action( 'after_setup_theme', 'hello_elementor_content_width', 0 ); if ( ! function_exists( 'hello_elementor_add_description_meta_tag' ) ) { /** * Add description meta tag with excerpt text. * * @return void */ function hello_elementor_add_description_meta_tag() { if ( ! apply_filters( 'hello_elementor_description_meta_tag', true ) ) { return; } if ( ! is_singular() ) { return; } $post = get_queried_object(); if ( empty( $post->post_excerpt ) ) { return; } echo '' . "\n"; } } add_action( 'wp_head', 'hello_elementor_add_description_meta_tag' ); // Settings page require get_template_directory() . '/includes/settings-functions.php'; // Header & footer styling option, inside Elementor require get_template_directory() . '/includes/elementor-functions.php'; if ( ! function_exists( 'hello_elementor_customizer' ) ) { // Customizer controls function hello_elementor_customizer() { if ( ! is_customize_preview() ) { return; } if ( ! hello_elementor_display_header_footer() ) { return; } require get_template_directory() . '/includes/customizer-functions.php'; } } add_action( 'init', 'hello_elementor_customizer' ); if ( ! function_exists( 'hello_elementor_check_hide_title' ) ) { /** * Check whether to display the page title. * * @param bool $val default value. * * @return bool */ function hello_elementor_check_hide_title( $val ) { if ( defined( 'ELEMENTOR_VERSION' ) ) { $current_doc = Elementor\Plugin::instance()->documents->get( get_the_ID() ); if ( $current_doc && 'yes' === $current_doc->get_settings( 'hide_title' ) ) { $val = false; } } return $val; } } add_filter( 'hello_elementor_page_title', 'hello_elementor_check_hide_title' ); /** * BC: * In v2.7.0 the theme removed the `hello_elementor_body_open()` from `header.php` replacing it with `wp_body_open()`. * The following code prevents fatal errors in child themes that still use this function. */ if ( ! function_exists( 'hello_elementor_body_open' ) ) { function hello_elementor_body_open() { wp_body_open(); } } require HELLO_THEME_PATH . '/theme.php'; HelloTheme\Theme::instance(); Покрокове налаштування двоетапної автентифікації для захисту - Yayasan Lentera Jagad Nusantara Sejahtera

Покрокове налаштування двоетапної автентифікації для захисту

Активуйте альтернативний спосіб ідентифікації через мобільний додаток або апаратний ключ. Ці механізми забезпечують додатковий рівень захисту, https://digitalguide.in.ua/ який ускладнює доступ до інформації недобросовісним особам. Розглядайте використання останніх версій програм, оскільки вони містять оновлення безпеки.

Регулярно переглядайте налаштування безпеки в акаунті. Змінюйте секретні запитання на більш складні, щоб ускладнити злом. Використовуйте унікальні паролі для різних платформ, адже один зламаний обліковий запис може призвести до компрометації інших.

Створіть резервні копії кодів входу та інших важливих даних, зберігаючи їх у надійному місці. Це дозволить відновити доступ у разі втрати телефону або інших непередбачуваних обставин.

Будьте обережні з підозрілими повідомленнями та посиланнями. Завжди перевіряйте адреси сайтів, на які переходите, щоб уникнути фішингових атак. Ви можете активувати опцію сповіщень про входи з нових пристроїв, щоб слідкувати за незвичними спробами доступу.

Як правильно вибрати метод отримання коду підтвердження

Обирайте SMS або додатки для генерації кодів. За статистикою, програми, такі як Google Authenticator або Authy, забезпечують вищий рівень безпеки порівняно з текстовими повідомленнями. SMS може бути піддане перехопленню чи фішингу, у той час як додатки генерують кредити локально на вашому пристрої без передачі по мережі.

Зверніть увагу на зручність та швидкість

Обираючи метод, врахуйте, наскільки зручно вам отримувати код. Якщо часто знаходитесь у місцях з поганим сигналом, варто розглянути додатки, що працюють без інтернету. У разі використання SMS, перевірте наявність функції резервного отримання кодів, адже деякі послуги можуть надсилати повторно код через кілька хвилин.

Регулярно оновлюйте налаштування безпеки

Не забувайте перевіряти актуальність вибраного методу. Технології постійно змінюються, і те, що було безпечним вчора, може бути менш надійним сьогодні. Регулярно переглядайте способи отримання кодів та адаптуйте їх, враховуючи нові загрози та ваші особисті звички.

Що робити у випадку втрати доступу до вторинного каналу

Перше, що слід зробити, це звернутися до служби підтримки платформи, де ви використовуєте цей метод захисту. Більшість сервісів пропонують можливість відновлення доступу через форму запиту. Надішліть свою заявку, вказавши деталі, такі як адреса електронної пошти та номер телефону.

  • Перевірте свою електронну пошту на наявність повідомлень про безпеку.
  • Намагайтеся згадати останні дії з обліковим записом для підтвердження.

Також важливо мати під рукою резервний код, якщо ви отримали його під час налаштування захисту. Ці коди часто виглядають як набір випадкових чисел і дозволяють увійти в обліковий запис без вторинного каналу.

  1. Якщо у вас не залишилося резервних кодів, спробуйте відповісти на запитання безпеки.
  2. Зміна пароля може стати альтернативним методом, якщо система дозволяє.

Завжди ведіть облік інформації про способи відновлення доступу. Зафіксуйте серійні номери або додаткові контакти у безпечному місці, але не в тому ж онлайн-обліковому записі.

  • Уникайте зберігання кодів у текстових файлах на комп’ютері.
  • Чи добре знаєте вашого друга чи родича, який може допомогти з відновленням доступу до номера телефону?

Переглядайте політику конфіденційності сервісу, щоб дізнатися, чи є інші способи відновлення доступу, таких як відео-верифікація або підтвердження особи через соціальні мережі.

Після відновлення доступу, перегляньте налаштування безпеки. Забезпечте резервні варіанти автентифікації для запобігання подібним проблемам у майбутньому. Створіть новий номер телефону або адрес електронної пошти, якщо це можливо, для додаткової надійності.