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