Использование класса шифрования в плагине WordPress

Вопрос или проблема

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

Я провел некоторые поиски среди многих классов оберток для шифрования на PHP и наконец нашел Defuse\Crypto как один из лучших вариантов.

Класс требует минимум PHP 5.4 и также использует openssl_ и hash_hmac.

Что вы думаете? Буду ли я сталкиваться с проблемами из-за этих требований при установке плагина на хостингах пользователей? Или провайдеры общих хостингов покрывают их по умолчанию?

Спасибо

Соответствуют ли эти требования требованиям ядра WordPress?

Нет, WordPress все еще работает на PHP 5.2 с несколькими дополнительными ограничениями и нацелен на работу на тостере, найденном на свалке.

Являются ли эти требования практичными для современного PHP-хостинга?

Вполне, PHP 5.4 устарел (поддержка безопасности закончилась в прошлом году), при этом самая низкая поддерживаемая версия на данный момент — это новее 5.5, openssl довольно распространен, я думаю, функции хеширования встроены, я думаю?

В конечном итоге это ваш выбор, на какую из двух вы ориентируетесь. Это больше бизнес-решение, чем техническое.

Эта https://wordpress.org/about/stats/ должна быть вашим путеводителем. Как вы можете видеть, более 30% сайтов WordPress работают на PHP, который не соответствует вашим требованиям.

Примечание: На мой взгляд, если вы не понимаете шифрование достаточно хорошо, чтобы использовать API PHP напрямую, то скрытие за какой-то библиотекой не улучшит качество вашего шифрования, если, конечно, это не сделано просто для того, чтобы создать видимость “безопасности”. Общая ошибка в вашей ситуации — это жестко закодировать ключ шифрования в плагине.

Ответ или решение

Использование класса шифрования в плагине WordPress

Разработка плагина для WordPress, который работает с чувствительными данными, требует тщательного подхода к выбору методов шифрования. В свете ваших исследований и выбора библиотеки Defuse\Crypto можно выделить несколько важных аспектов, касающихся ее применения и суммарных требований.

Технические требования

  1. Версия PHP: Defuse\Crypto требует минимум PHP 5.4. На данный момент, с учетом статистики, более 30% сайтов на WordPress работают на версиях PHP ниже 5.4, что может вызвать проблемы с совместимостью. Таким образом, вы должны учитывать целевую аудиторию: если ваш плагин будет наиболее востребован среди пользователей старых версий PHP, использование этой библиотеки нецелесообразно.

  2. Поддержка OpenSSL и Hash: Поскольку Defuse\Crypto полагается на OpenSSL и hash_hmac, следует отметить, что OpenSSL является стандартной и широко поддерживаемой библиотекой в PHP, что может снизить количество проблем при развертывании. Хеш-функции также являются частью встроенных возможностей, что является положительным аспектом.

Соответствие ядру WordPress

WordPress все еще поддерживает старые версии PHP, включая 5.2, что создает дополнительные ограничения. При выборе библиотеки для шифрования необходимо учитывать общие требования и практики, принятые в экосистеме WordPress. Нам необходимо учитывать пользовательский опыт, чтобы избежать падения обратной совместимости.

Альтернативные варианты и рекомендации

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

  • Избегайте хранения ключей шифрования в коде: Нельзя жестко прописывать ключи шифрования в вашем плагине. Рекомендуется использовать методы, которые позволяют ключам генерироваться и храниться в надежных местах, например, в конфигурационных файлах, доступных только для чтения, или в защищенных хранилищах.

  • Пользуйтесь интерфейсами API: Если вы не уверены в своих знаниях о шифровании, рекомендуется использовать API, предлагаемые библиотеками. Это поможет избежать распространенных ошибок и уязвимостей.

  • Проведение тестирования безопасности: После разработки плагина проведите независимое тестирование с целью выявления уязвимостей. Используйте проверки на соответствие стандартам безопасности (таким как OWASP).

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

Заключение

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

Оцените материал
Добавить комментарий

Капча загружается...