Где надежно хранить ключи и пароли API в WordPress?

11

Я хочу использовать несколько API, и многие приходят с ключами, секретными ключами и паролями, необходимыми для работы. Где в WordPress вы можете хранить эту информацию? Если предположить, что кто-то может взломать вашу БД, есть ли в WordPress способ сделать эту информацию более безопасной? Кроме того, рассмотрите возможность менять эти ключи как можно чаще, поэтому мне нужно обновить ключи на странице параметров.

ОБНОВИТЬ

jgraup
источник

Ответы:

9

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

  1. Используйте таблицу параметров и зашифруйте данные

    Используйте надежный метод шифрования и свяжите его с:

    • ваш пароль, если вы хотите использовать вызов API, только когда вы вошли в систему, или
    • секретный ключ хранится у вас wp-config.php- тогда злоумышленнику нужен и код PHP, и база данных
  2. Хранить информацию о доступе за пределами WordPress

    Если вы используете систему для автоматического развертывания, например, на основе Composer и wpstarter , у вас, вероятно, есть какой-то сервер развертывания, такой как Envoyer, который создает файл с важными переменными конфигурации, который хранится вне корня документа сервера сайта .
    Затем вы можете использовать серверную часть сервера развертывания вместо серверной части WordPress для изменения этих данных.

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

Фуксия
источник
Есть ли способ интегрировать что-то вроде хранилища ключей Azure в WP?
PoorInRichfield
4

Ответ - нет. Если за вашей БД можно следить, ваш код, вероятно, может быть таким же, поэтому даже если вы шифруете данные, их можно расшифровать.

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

Я фактически столкнулся с требованием зашифровать данные, поэтому, если безопасность приложения нарушена, и вы получаете доступ только к БД, вы не можете использовать эти данные, но в реальной жизни вас, скорее всего, взломают на уровне WordPress, чем на уровне БД. ,

Марк Каплун
источник