Підписи коду

З випуском версії 1.9.7 Esl робить ще один значний крок для покращення вбудованої безпеки коду, впроваджуючи підписи коду.

Підписи коду гарантують, що код, який ви запускаєте, не був підроблений. Дійсні підписи коду тепер є обов’язковими. Будь-який код без дійсної підписи не буде виконуватись.

Елементи, які потребують підписів коду

Наступні елементи потребують дійсних підписів коду для виконання:

  • Елемент коду з увімкненою “Виконанням коду”
  • SVG-елемент із встановленим “Джерелом” на “Код”
  • Редактор запитів

Як створити підписи коду

Ви можете створити підписи коду для окремих елементів під час їх редагування в системі, для всієї сторінки в системі або глобально через налаштування Esl. Давайте разом розглянемо всі варіанти.

Створити підписи коду в системі

У системі всі елементи з непідписаним кодом підсвічуються червоним кольором. Ви також побачите червону іконку “відбитка пальця” у верхній частині панелі структури.

Система: Код, SVG та редактор запитів з непідписаним кодом

Підписати код для окремого елемента

Щоб створити підпис коду для окремого елемента під час його редагування, ви можете натиснути кнопку “Підписати код” прямо над редактором коду. Або, якщо ваш курсор знаходиться всередині редактора коду, використайте комбінацію клавіш “CMD/CRTL + R”.

Переглянути та підписати непідписаний код масово

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

Підписати весь код глобально через налаштування Esl

Щоб створити підписи коду для всього вашого сайту, перейдіть до Esl > Налаштування > Кастомний код > Підпис коду у вашій панелі керування WordPress.

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

Ця функція доступна лише коли виконання коду увімкнено та для користувачів з можливістю виконання коду.

Коли регенерувати підписи

При оновленні Esl з версії до 1.9.7, створення підписів коду через Esl > Налаштування для виконання вашого коду є обов’язковим, оскільки лише код з дійсною підписом буде виконуватись. Будь ласка, спершу проведіть “Огляд коду” на тій же сторінці.

Після зміни солей WordPress (секретних ключів): Коли соли в wp-config.php змінюються, вам потрібно згенерувати нові підписи коду.

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

Чому підписи коду?

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

Розуміння солей WordPress

У контексті WordPress, солі – це, по суті, випадкові рядки, які служать ключами для криптографічних операцій.

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

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

Коли код підготовлений (або хешований) з цим секретним інгредієнтом, він створює підпис, який є унікальним для вашого сайту.

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

Розуміння функції wp_hash

Для хешування Esl використовує рідну для WordPress функцію wp_hash, яка використовує алгоритм HMAC-MD5 для генерації унікальних хеш-підписів.

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

Процес перевірки цілісності коду Esl

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

Ось короткий огляд того, як працює цей процес:

  1. Генерація коду та підпису: Коли ви підписуєте свій код, створюється унікальний хеш-підпис, що використовує унікальні солі WordPress вашого сайту.
  2. Отримання коду для виконання: Коли код отримується на вашому сайті, Esl відновлює код та його збережений хеш-підпис з бази даних.
  3. Процес верифікації: Esl повторно створює хеш відновленого коду і порівнює цей новий хеш із оригінальним збереженим підписом.
  4. Рішення про виконання: Якщо хеші збігаються, це підтверджує цілісність коду, дозволяючи йому виконуватись. Невідповідність вказує на можливі несанкціоновані зміни, що запобігає виконанню.

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

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