Всего 125 375 комментариев

Александр Туниеков
10 января 2025, 18:30
0
Как то видел эти советы. Стоит ли шифровать или что-то друое стоит подумать.
Здесь вопрос GNU запрещает шифровать компоненты для MODX или GNU запрещает шифровать модифицированную версию MODX? То есть изменил MODX и стал распространять (продавать) модифицированную версию зашифрованную. Это явно запрещено. А вот шифрование компонентов для MODX не понятно. Лицензия требует предоставлять исходный код основанный на MODX. Это как понимать? Как код включающий код MODX? Или как код использующий инструменты MODX. Как GNU трактуют для кода фреймворков?
Serg
10 января 2025, 18:16
0
Если не РФ то есть площадки с готовым функционалом и платёжными системами.
На МОДХ можно сделать, через msFile и для РФ платежки есть, но если не разбираться самому, то смысла связываться мало.
Артур Шевченко
10 января 2025, 17:48
0
На мой взгляд, следует придерживаться единой логики, т.е. если у тебя в каталоге выводятся товары и у каждого товара размеры это просто опции, то и в избранном надо выводить так же, только не показывать те размеры, которые пользователь не добавлял в избранное. Если же размеры ты реализовал через модификации (msOptionsPrice2), то просто добавляй в избранное модификацию и выводи список модификаций.
Николай Савин
10 января 2025, 10:35
0
Шифрование исходного кода PHP может быть полезно для защиты интеллектуальной собственности или предотвращения несанкционированного доступа к коду. Однако стоит учитывать, что полная защита исходного кода невозможна, так как PHP выполняется на стороне сервера, и расшифрованный код должен быть доступен для интерпретатора. Тем не менее, вот несколько способов, которые могут помочь затруднить чтение исходного кода:

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

Обфускация — это процесс преобразования исходного кода в трудночитаемую форму, сохраняя его функциональность. Существуют инструменты, которые могут обфусцировать PHP-код:

PHP Obfuscator: Инструменты вроде PHP Obfuscator или ionCube PHP Obfuscator могут преобразовать код в нечитаемый вид.
YAK Pro: Бесплатный инструмент для обфускации PHP-кода.

Пример использования:
php yakpro-po.php your_script.php -o obfuscated_script.php
2. Шифрование с помощью ionCube или Zend Guard
Эти коммерческие инструменты позволяют зашифровать PHP-код и запускать его с помощью специального расширения на сервере.
  • ionCube: Шифрует код и требует установки ionCube Loader на сервере.
  • Zend Guard: Аналогично ionCube, шифрует код и требует Zend Optimizer.
Пример использования ionCube:

ioncube_encoder your_script.php -o encrypted_script.php
3. Использование base64_encode и eval
Этот метод не является надежным, но может затруднить чтение кода. Код кодируется в base64, а затем декодируется и выполняется с помощью eval.
Пример:

<?php
$code = '<?php echo "Hello, World!"; ?>';
$encoded = base64_encode($code);
eval(base64_decode($encoded));
?>
4. Самописное шифрование

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

<?php
function encrypt($code, $key) {
    return openssl_encrypt($code, 'AES-128-CBC', $key);
}

function decrypt($encrypted, $key) {
    return openssl_decrypt($encrypted, 'AES-128-CBC', $key);
}

$code = '<?php echo "Hello, World!"; ?>';
$key = 'your_secret_key';
$encrypted = encrypt($code, $key);
eval(decrypt($encrypted, $key));
?>
5. Использование PHP-расширений

Вы можете написать собственное PHP-расширение на C, которое будет содержать зашифрованный код. Это требует навыков программирования на C и работы с PHP API.

Важные замечания:

  • Производительность: Шифрование и расшифровка кода могут замедлить выполнение скрипта.
  • Безопасность: Ни один метод не обеспечивает 100% защиту. Злоумышленник с достаточными знаниями и временем может декомпилировать или расшифровать код.
  • Лицензирование: Убедитесь, что использование инструментов шифрования соответствует лицензионным соглашениям
Выбор метода зависит от ваших требований к безопасности, бюджета и уровня сложности, который вы готовы принять.
Артур Шевченко
10 января 2025, 10:18
0
Внести часть кода в exe или dll
Это же расширения из Windows, причём тут Modx и его компоненты?
Андрей Шевяков
10 января 2025, 09:11
0
Можно посмотреть вот это PayAndSee
Денис Усманов
10 января 2025, 01:07
0
Исправлено, читайте статью, внёс изменения по этому вопросу.
Владимир
09 января 2025, 23:00
0
нет, нашел проблему, все ок!

Кстати на modx 3 работает, только из магазина Modstore не установить, нет этого дополнения. Я качал из modx 2 и загружал пакет вручную.
Александр Туниеков
09 января 2025, 22:52
0
Внести часть кода в exe или dll и вызовы функций из них делать. Я конечно еще такое не делал но думаю это возможно.
Владимир
09 января 2025, 21:38
0
Ошибку по полю email вываливает из-за тестового режима?
Артур Шевченко
09 января 2025, 21:19
0
150р за кг должно прибавляться вне зависимости от суммы стоимости товаров в корзине?
Артур Шевченко
09 января 2025, 21:01
0
думаю защита только транспортного пакета для такой суммы недостаточна
А что ещё, кроме транспортника, вы можете зашифровать?
Николай Савин
09 января 2025, 17:21
+1
Вот так привязать к шаблонам.

$templates = array(1, 2); 
if(in_array($modx->controller->resource->get('template'), $templates)) {
	$modx->regClientStartupHTMLBlock('<script>Ext.onReady(function() {
if(MODx.loadRTE) MODx.loadRTE("modx-resource-introtext");
});</script>');
};
Вот так выводить для указанных шаблонов, и плюс отдельно для указанных ID.

$templates = array(1, 2); 
$ids = [112, 113];
if(

in_array($modx->controller->resource->get('template'), $templates) 
||  in_array($modx->controller->resource->get('id'), $ids) 
) {
	$modx->regClientStartupHTMLBlock('<script>Ext.onReady(function() {
if(MODx.loadRTE) MODx.loadRTE("modx-resource-introtext");
});</script>');
};
Серый
09 января 2025, 13:53
0
Хотелось бы «заклинание» и для шаблонов, а не только для конкретных ресурсов + комбинированно и номера шаблонов, и ресурсов — такой код можно будет считать законченным.
Поторопился я, видимо со своим «ух, класс...»
Подскажите пожалуйста, заранее благодарю!
Николай Савин
09 января 2025, 12:14
0
У работы нет стоимости, она у есть у исполнителя.
Соответственно зависит от того, кто будет делать.
Ну, а дальше уже нюансы. Что за файл, откуда он берется. Готовый он или нужно генерировать. Куда, когда отсылать, при каких условиях и т.п.
Prihod
08 января 2025, 23:14
+1
Блин, где ты был раньше с этой инфой? Сэкономил бы мне время. ))
Мое решение изначально заточено на MODX и требует минимум тело движений.
nikola
08 января 2025, 22:39
0
спасибо, стоимость такой работы не подскажите примерно?
Николай Савин
08 января 2025, 21:57
0
Да это возможно, но придется писать свой плагин скорее всего. В MODX и minishop2 из коробки такого нет
nikola
08 января 2025, 19:44
0
понял, а что бы вместе с оплатой, файл отправлялся, вернее клиент оплатил и получил файл, возможно так сделать?
ВитОс
08 января 2025, 19:32
0
там элементарная форма платежной системы. любую возьмите и по документации сделайте