Архив рубрики: Публикации

Как создать пользовательский мета-бокс в WordPress

В этом посте я объясню, как создать пользовательский мета-бокс  в WordPress. Когда вы редактирует свой пост, страница состоит из множества мета-боксов по умолчанию, такие как: редактор, изображение записи, опубликовать, рубрики, теги и т.д. Эти мета-боксы находятся на правой стороне экрана редактирования.

Вы можете создавать свои собственные мета-боксы, путем добавления нескольких кодов в файл function.php вашей темы в WordPress или можете создать отдельный плагин для этого. Ниже примеры демонстрируют шаги, как создать пользовательские мета-боксы.

Как создать мета-бокс

Добавьте ниже крюк в add_meta_boxes действие и сделать вызов add_meta_box().

/* Добавить метабокс на экран редактирования поста */

add_action( 'add_meta_boxes', 'andreyex_add_custom_box' );

function andreyex_add_custom_box() {

    $screens = array( 'post', 'my_cpt' );

    foreach ( $screens as $screen ) {

        add_meta_box(

            'andreyex_box_id',            // Unique ID

            'Пользовательский заголовок метабокса',      // Заголовок мета-бокса

            'andreyex_inner_custom_box',  // Content callback

             $screen                      // тип поста

        );

    }

}

 

Создание формы мета-бокса

Ниже код будет создать форму для пользовательского meta box. Пожалуйста, измените приведенный ниже код согласно вашему требованию.

/* Печать содержимого бокса */

function andreyex_inner_custom_box( $post ) {

?>

   <label for="andreyex_field"> Описание для этой области </label>

    <select name="andreyex_field" id="andreyex_field" class="postbox">

        <option value="">Выберите что-то…</option>

        <option value="something">Что-то</option>

        <option value="else">Иначе</option>

    </select>

<?php

}

?>

 

Как установить Apache, MariaDB, PHP7 (LAMP) на OpenSUSE 42.2 Leap

На этом уроке, мы рассмотрим, как установить Apache, MariaDB, PHP7 (стек LAMP) с PhpMyAdmin на OpenSUSE 42.2 Leap.

 

Шаг 1: Обновление программного обеспечения

Перед установкой любого программного обеспечения, всегда хорошая идея для обновления репозитория и пакетов программного обеспечения.

sudo zypper update

Шаг 2: Установка веб-сервера Apache

Установка Apache на OpenSUSE с помощью следующей команды.

sudo zypper install apache2

 

По умолчанию, Apache не будет запускаться автоматически после того, как будет установлен. Вы можете запустить его с помощью команды:

sudo systemctl start apache2

 

И включить автоматический запуск во время загрузки:

sudo systemctl enable apache2

 

Проверьте статус:

systemctl status apache2

 

opensuse apache

Мы можем видеть на скриншоте, что Apache работает и автоматический запуск включен.

Проверьте версию Apache:

sudo httpd -v

Вывод:

Server version: Apache/2.4.23 (Linux/SUSE) 

Server built:   2016-09-13 13:41:45.000000000 +0000

Теперь создайте файл index.html в корне документа.

sudo nano /srv/www/htdocs/index.html

Поместите следующий текст в файл.

<html> 

<body> 

  <h1> It works!</h1> 

</body> 

</html>

Сохраните и закройте файл. Затем в адресной строке браузера введите IP-адрес OpenSUSE 42.2 Leap. Вы должны увидеть «It works!» на веб-странице, а это значит, веб-сервер Apache работает правильно.

Если вы устанавливаете LAMP на локальной машине OpenSUSE Leap 42.2, просто введите 127.0.0.1 или localhost в адресной строке браузера.

Установка apache на opensuse leap 42.2

По умолчанию брандмауэр SuSE запретит общий доступ к порту 80. Чтобы разрешить общий доступ, необходимо изменить конфигурацию брандмауэра.

sudo nano /etc/sysconfig/SuSEfirewall2

Найти следующую строку.

FW_CONFIGURATIONS_EXT=""

Измените его к следующему, чтобы разрешить общий доступ к порту 80.

FW_CONFIGURATIONS_EXT="apache2"

Сохраните и закройте файл. Затем перезапустите брандмауэр SuSE.

sudo systemctl restart SuSEfirewall2

И, наконец, нам нужно сделать wwwrun (пользователь Apache) в качестве владельца корневого документа.

sudo chown wwwrun /srv/www/htdocs/ -R

Шаг 3: Установка MariaDB

Установить MariaDB сервер и клиент на OpenSUSE Leap с помощью следующей команды.

sudo zypper install mariadb mariadb-client mariadb-tools

По умолчанию, MariaDB не запускается автоматически после того, как была установлена. Мы можем запустить ее с помощью команды:

sudo systemctl start mysql

И включить автоматический запуск во время загрузки:

sudo systemctl enable mysql

Проверьте статус MariaDB:

systemctl status mysql

opensuse leap 42.2 mariadb

Мы можем видеть на скриншоте, MariaDB работает и включена в автоматический запуск.

Проверьте версию MariaDB:

mysql --version

Вывод:

mysql  Ver 15.1 Distrib 10.0.28-MariaDB, for Linux (x86_64) using readline 5.1

Теперь любой пользователь в системе может войти в MariaDB как root с помощью следующей команды:

mysql -u root

Для того, чтобы ограничить доступ, необходимо установить пароль для корневого пользователя MariaDB. Выполните следующую команду:

sudo mysql_secure_installation

Когда он попросит вас ввести пароль MariaDB для root, нажмите Enter , потому что вы не установили пароль администратора еще. Затем введите y и установите корневой пароль для сервера MariaDB.

Далее вы можете просто нажать Enter, чтобы ответить на все остальные вопросы. Это приведет к удалению анонимного пользователя, запретить удаленный вход администратора и удалить тестовую базу данных. Этот шаг является основным требованием для обеспечения безопасности базы данных MariaDB.

Теперь вы можете войти в MariaDB с помощью следующей команды

mysql -u root -p

Шаг 4: Установить PHP7

Введите следующую команду, чтобы установить PHP7 и расширения PHP7.

sudo zypper install php7 php7-mysql apache2-mod_php7

Затем включите PHP модуль и перезапустить веб-сервер Apache.

sudo a2enmod php7



sudo systemctl restart apache2

Шаг 5: Тестирование PHP

Создайте файл test.php в корневом каталоге документов.

sudo nano /srv/www/htdocs/test.php

Вставьте следующий код PHP в файл.

<?php phpinfo(); ?>

Сохраните и закройте файл. Теперь в адресной строке браузера, введите server-ip-address/test.php. Замените sever-ip-addressс текущим IP- адресом. Если вы будете следовать этим учебным пособием на локальном компьютере, а затем введите 127.0.0.1/test.php или localhost/test.php.

Вы должны увидеть PHP информацию вашего сервера. Это означает, что обработка PHP работает.

opensuse leap 42.2 php7

Для безопасности вашего сервера, вы должны удалить файл test.php сейчас.

Шаг 6: Установите PhpMyAdmin (по желанию)

PhpMyAdmin является веб-инструмент администрирования MySQL/MariaDB. Если вы не хотите администрировать MariaDB из командной строки, то вы можете установить PhpMyAdmin с командой ниже.

sudo zypper install phpMyAdmin

Менеджер пакетов Zypper автоматически установит необходимые расширения PHP7 для вас. После его установки, перезапустите Apache, чтобы включить эти расширения PHP7.

sudo systemctl restart apache2

После этого вы можете посетить веб-интерфейс PhpMyAdmin с помощью

your-server-ip/phpMyAdmin

или

localhost/phpMyAdmin

opensuse leap 42.2 phpmyadmin

И войти в MariaDB с корневым паролем.

opensuse leap phpmyadmin php7

Поздравляю! Вы успешно установили Apache, MariaDB и PHP7 на OpenSUSE 42.2 Leap.



2017-01-29T17:33:54
Установка ПО на openSUSE

WordPress 4.7.2 теперь доступна для загрузки и обновления

Это релиз безопасности для предыдущих версий WordPress. Теперь WordPress 4.7.2 доступен для загрузки и обновления. Мы настоятельно рекомендуем обновить свой веб-сайт до версии WordPress 4.7.2.

WordPress версии 4.7.1 затронуты три вопроса, которые описаны ниже:

1) Пользовательский интерфейс для присвоения терминов таксономии в прессе. Это показано для пользователей, которые не имеют разрешения на использование его.

2) WP_Query уязвим для инъекций SQL (SQLI) при передаче небезопасных данных. Ядро WordPress ​уязвимо ​не напрямую, но мы добавили закаливания, чтобы предотвратить плагины и темы от случайно вызываемой уязвимости.

3) Межсайтовый скриптинг (XSS), уязвимость была обнаружена в таблице списка постов. Об этом сообщают из команды безопасности WordPress.

WordPress 4.7 Двадцать семнадцать

В WordPress версии 4.7.2 рассмотрены три, описанные выше, вопроса безопасности. Для получения дополнительной информации см примечания к выпуску.

Ниже списки файлов, которые подверглись исправлению:

wp-admin/about.php

wp-admin/includes/class-wp-press-this.php

wp-admin/includes/class-wp-posts-list-table.php

wp-includes/version.php

wp-includes/class-wp-query.php

wp-includes/class-wp-comment.php

wp-includes/class-wp-term.php

wp-includes/rest-api/endpoints/class-wp-rest-comments-controller.php

wp-includes/rest-api/endpoints/class-wp-rest-taxonomies-controller.php

wp-includes/rest-api/endpoints/class-wp-rest-post-types-controller.php

wp-includes/rest-api/endpoints/class-wp-rest-posts-controller.php

wp-includes/rest-api/endpoints/class-wp-rest-terms-controller.php

wp-includes/rest-api/endpoints/class-wp-rest-post-statuses-controller.php

wp-includes/rest-api/endpoints/class-wp-rest-revisions-controller.php

wp-includes/rest-api/endpoints/class-wp-rest-users-controller.php

wp-includes/class-wp-post.php

wp-includes/rest-api.php

 

Как обновить WordPress

Войдите на веб-сайт в админку в WordPress и перейдите в панель управления => Обновления и нажмите на кнопку Обновить сейчас. Пожалуйста, не забудьте сделать резервную копию базы данных и веб-сайта.

WordPress Обновления - WordPress 4.7 - WordPress

Как обновить WordPress вручную

Скачать последнюю версию WordPress от WordPress.org и извлечь файлы архива. Теперь скопируйте папки wp-admin, wp-includes и заменить старые WordPress каталоги и подкаталоги, а также замените старые файлы из корневого каталога, последними. Не удаляйте файлы и папки из папки wp-content.



2017-01-28T12:25:23
Витрина

Here we go

Добрый день, дорогие поклонники, фанаты, новички и гуру ИБ!

Вынашивал идею создать блог о Информационной безопасности уже давно, и вот , как говорится, руки дошли 🙂

Если этот сайт принесет кому-то хоть какую помощь или просто будет интересен, я уже буду в восторге от счастья.

Мы делаем одно дело, и давайте делать это хорошо друзья! Всем ИБ коллеги!



2017-01-27T18:37:45
Медиа

Файловая система Linux

В этой статье мы поговорим про файловую систему Linux. Но здесь вы не найдете описания тонкостей работы с определенной файловой системой, например, ext4, а также не найдете команд для работы с какой-либо ФС. Мы остановимся на более общих понятиях и попытаемся разобраться что такое файловая система, и как она работает в целом.

Каждый компьютер сохраняет данные и результаты на жестком диске, твердотельном накопителе SSD или любом другом носителе информации, это неизбежно. Для этого есть несколько причин. Во-первых, содержимое RAM очищается при каждой перезагрузке компьютера. Конечно, есть быстрые энергонезависимые устройства хранения, такие как флеш память, но они стоят намного дороже, чем стандартные модули DDR3.

Вторая причина хранить данные на диске, это то, что оперативная память намного дороже чем более медленные, но вместительные жесткие диски. Фактически 16 Гб оперативной памяти будет стоить столько же, сколько жесткий диск на 2 Тб. Таким образом, мы видим, что оперативная память в 71 раза дороже чем HDD.

Что такое файловая система?

Люди могут подразумевать под файловой системой совсем разные понятия. Само словосочетание может иметь несколько значений и вам придется понимать о чем идет речь из контекста документа.

Давайте рассмотрим наиболее часто используемые значения слов файловая система. Мы не будем останавливаться на официальной трактовке, а попытаемся обратить внимание на сферу применения:

  • Все структура каталогов Linux, начиная с корня (/);
  • Конкретный формат раздела хранения данных, например, Ext3, Ext4, Btrfs, XFS и так далее. Ядро Linux поддерживает более 10 типов файловых систем, в том числе очень старых и новых. Каждый тип файловой системы использует свои структуры метаданных чтобы организовать работу с данными на диске;
  • Раздел или логический том, отформатированный в определенный тип файловой системы, который можно примонтировать к определенной точке монтирования.

Дальше рассмотрим как выполнена организация файловой системы Linux и ее основные функции.

Основные функции файловой системы

Необходимость использования дисковых хранилищ приносит некоторые особенности работы файловых систем. Основная функция файловой системы — предоставление организованного пространства для хранения файлов на энергонезависимом запоминающем устройстве. Но есть несколько дополнительных функций, которые вытекают из основной.

Все файловые системы должны обеспечивать пространство имен. Оно определяет как будут называться файлы, ограничения на длину имени, используемые символы, а также логическую структуру данных на диске, например, использование каталогов для организации файлов, а не просто складывания их в одном месте.

Когда пространство имен определено, необходимо создать для него основу с помощью метаданных файловой системы. Она включает в себя структуры данных для создания иерархии каталогов, структуры для хранения занятых и свободных блоков на диске, структуры с именами файлов и каталогов, информацией о файлах, такой как размер, время создания, расположение файла на диске и так далее. В самих блоках файла на диске хранится только его содержимое, вся же остальная информация находится в метаданных.

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

Для доступа к файлам также необходим набор функций API, с помощью которых программы могли бы управлять различными объектами файловой системы. Обычно должны существовать методы для создания, перемещения и удаления файлов.

Современные файловые системы также обеспечивают модель безопасности, которая представляет из себя схему прав доступа к файлам для пользователей. Модель безопасности ФС в Linux гарантирует что пользователи будут иметь доступ только к своим файлам.

Дальше, нам нужно программное обеспечение, которое будет выполнять все эти функции. Организация файловой системы linux состоит из двух частей:

Первая часть — это виртуальная файловая система. Она представляет собой единый набор команд ядра, с помощью которого разработчики могут получить доступ к любой из файловых систем. Виртуальной файловой системе необходим драйвер для работы с различными типами ФС. Драйвера файловой системы — это вторая часть реализации, в них реализован стандартный набор команд, выполняющих специфичные для файловой системы действия.

Структура каталогов

Намного проще найти файлы, если они хранятся небольшими группами, каждый на своем месте, а не все в одной куче. Структуру файловой системы Linux можно представить в виде простой иерархии. Все каталоги находятся в корневом каталоге (/) поэтому каждый адрес файла начинается с него. Например, /var/log/dmesg, /usr/share/, /bin.

Корневая файловая система Linux — это ФС верхнего уровня, она должна содержать все файлы, необходимые для загрузки Linux еще до того как другие файловые системы будут смонтированы. Здесь уже должны быть все исполняемые файлы и библиотеки, нужные для подключения других ФС. Во время загрузки другие файловые системы монтируются в четко определенные для них каталоги. Более детально предназначение каждого каталога Linux мы рассматривали в статье структура файловой системы Linux.

Каталоги /bin, /dev, /etc, /lib, /root, /sbin не могут быть примонтированы и должны быть доступны еще до загрузки, так как в них находятся все необходимые файлы. Что касается каталогов /media и /mnt, то они должны быть пустыми, поскольку это точки монтирования для других файловых систем. Остальные каталоги можно смело монтировать позже, они никак не повлияют на запуск.

В некоторых не Unix операционных системах разделам присваиваются отдельные буквы, например, C: или D:. В них каждый раздел будет иметь отдельную файловую систему. Чтобы найти нужный файл на диске C: вам необходимо сначала выполнить команду C:, а затем искать путь к файлу.

В Linux все физические диски и разделы, объеденные в одну файловую структуру. Она начинается с корня (/) в котором расположены все другие каталоги. Это работает потому что файловые системы /var, /home, /boot, /tmp и т д могут находиться на других физических дисках. Даже съемные диски подключаются в основную файловую систему.

И это очень хорошо, потому что при обновлении версии дистрибутива можно сохранить абсолютно все файлы и настройки в домашнем каталоге. Иногда полезно переформатировать корневой раздел чтобы убрать оттуда весь мусор, если /home находится на отдельном разделе, то вы ничего не потеряете. Есть и другие причины так поступать, например, защита корневой ФС от переполнения, что привело бы к неработоспособности системы.

Типы файловых систем

Как уже было сказано, Linux поддерживает более 10 различных файловых систем, но создавать и выполнять запись, возможно, только в некоторые из них. Зато можно подключить их все к корневой файловой системе. Под типом мы подразумеваем совокупность структур и метаданных, необходимых для хранения файлов.

Linux может монтировать и читать такие файловые системы:

Основная причина почему они поддерживаются — это попытка организовать максимальную совместимость с другими операционными системами. А вот основные файловые системы linux, которые можно создавать:

  • btrfs;
  • cramfs;
  • ext2;
  • ext3;
  • ext4;
  • fat;
  • gfs2;
  • hfsplus;
  • minix;
  • msdos;
  • ntfs;
  • reiserfs;
  • vfat;
  • xfs.

Мы более подробно рассматривали особенности некоторых из них в статье типы файловых систем Linux.

Монтирование файловых систем

Термин смонтировать появился еще в самом начале развития Linux, тогда было необходимо вставить кассету или съемный диск в специальный привод. Только после этого можно было получить доступ к файловой системе устройства.

Точка монтирования — это обычный каталог, как любая другая часть файловой системы. Например, домашняя папка смонтирована в каталог /home. И так далее.

Корневая файловая система ос Linux / подключается на раннем этапе загрузки. Другие файловые системы монтируются системой инициализации, например, SysVinit или Systemd. Точки монтирования настраиваются с помощью файла /etc/fstab. Также можно выполнять ручное монтирование в Linux с помощью команды mount. Каталог для монтирования необязательно должен быть пустым, он может содержать файлы, но тогда они будут просто скрыты.

Выводы

Эта статья была ориентирована на новичков и я надеюсь, что некоторые вопросы, касаемо термина файловая система linux были сняты. Теперь вы можете оценить элегантность, сложность и функциональность файловой системы Linux. Если у вас есть вопросы, спрашивайте в комментариях!