IonCube дополнительный уровень безопасности? - PullRequest
3 голосов
/ 05 октября 2011

Сейчас я работаю над php-проектом (интернет-магазин), который, возможно, будет заниматься хранением локально информации о кредитной карте клиента. Поэтому я думал о шифровании php-файлов с помощью IonCube, особенно тех, которые содержат настройки (ключ шифрования / дешифрования, IV) для алгоритм симметричного шифрования. Так что я не уверен, добавит ли он дополнительный уровень безопасности или нет, так как кажется, что он зашифрован IonCube файлы и аналогичные решения могут быть расшифрованы. Спасибо!

Ответы [ 3 ]

3 голосов
/ 05 октября 2011

IonCube здесь не подходит.Если вы кодируете файл, который содержит что-то вроде:

<?php $SecretValue = "xyzzy"; ?>

Восстановить секретное значение по-прежнему тривиально:

<?php require("encoded.secrets.php"); print $SecretValue; ?>

Таким образом, кодировка IonCube здесь в принципе бесполезна.1007 *

3 голосов
/ 11 октября 2011

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

Сокращение данных, однако, совершенно другое.Имейте в виду, что PHP и все связанные библиотечные оболочки, а также сами библиотеки, имеют открытый исходный код и поэтому легко модифицируются.Данные, отправляемые в любую функцию PHP и возвращаемые из нее, могут быть легко доступны с помощью простых изменений внутренних компонентов PHP.Хотите увидеть пароль базы данных к MySQL?Просто измените оболочку mysql_connect () или лежащую в основе библиотеку MySQL и зарегистрируйте детали.Некоторые системы кодирования, например ionCube, могут шифровать файлы не-PHP и затем расшифровывать во время выполнения с помощью подпрограмм с закрытым исходным кодом в своем компоненте времени выполнения, что может в некоторых случаях обеспечивать некоторые преимущества по сравнению с PHP-подпрограммами с открытым исходным кодом, такими как mcrypt.

duskwuff не совсем неверен в приведенном примере, например, в некоторых системах, например, в ionCube, можно защитить файлы от включения в незашифрованные файлы или файлы, закодированные другой копией энкодера, с помощью механизма, называемого «include».защита от атак ".Тем не менее хранение конфиденциальных данных в переменных, особенно глобальных, является плохим подходом, и было бы лучше, чтобы такие данные возвращались функцией с вводящим в заблуждение именем, которая, возможно, работает иначе, если не вызывается определенным образом.например, функция с именем mytime (), которая возвращает время, если не вызывается с «магическим» значением.

1 голос
/ 05 октября 2011

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

...