Page 3 of 3
Re: imagemagick - не сохраняются настройки
Posted: Tue Apr 21, 2015 7:41 pm
by admin
А запустите плз еще раз ап )
Re: imagemagick - не сохраняются настройки
Posted: Tue Apr 28, 2015 12:38 pm
by zxc
admin wrote:Только что попробовал на фре - все работает.
не думаю что разница будет со фрей.
Скиньте плз админку и по действиям что куда вписывать что б получить ошибку.
отправил
Re: imagemagick - не сохраняются настройки
Posted: Tue Apr 28, 2015 3:30 pm
by admin
Добавил пример в preload
Re: imagemagick - не сохраняются настройки
Posted: Wed Apr 29, 2015 1:23 pm
by zxc
отправил еще пример в ЛС
Re: imagemagick - не сохраняются настройки
Posted: Wed Apr 29, 2015 8:16 pm
by admin
Да, для линукса получается проблема когда можно передать в параметры что угодно
# for this input:
The smith's "; rm -rf *; echo "went to town
# after excapeshellarg()
'The smith\'s "; rm -rf *; echo "went to town'
# Works fine if left as a top-level argument
/usr/bin/command 'The smith\'s "; rm -rf *; echo "went to town'
# BUT if put in a double-quoted string:
/usr/bin/command "subcommand1 'The smith\'s "; rm -rf *; echo "went to town'"
# it is broken into 3 shell commands:
/usr/bin/command "something and 'The smith\'s ";
rm -rf *;
echo "went to town'"
# bad day...
и если убрать escapeshellcmd то любой получивший доступ в вашу админку сможет удалить все.
И пока конкретного решения вопроса найти не могу
Re: imagemagick - не сохраняются настройки
Posted: Thu Apr 30, 2015 2:48 pm
by admin
Забавно что этот топик уже на 3й странице в гугле когда я ищу решение этого вопроса ))
Re: imagemagick - не сохраняются настройки
Posted: Thu Apr 30, 2015 3:07 pm
by admin
Итого ситуация следующая:
если не делать excapeshellcmd - тогда любой кто зайдет в админку может вписать произвольные параметры с ";" и далее любая строка, хоть с удалением все что есть на винтах.
как этого избегают обычно: дают возможность передать парметры через файл, а не коммандную строку.
в ИМ сейчас такого нет, но это есть у них в туду на версию 7. Сейчас версия стабильная 6.9.
что делать в данной ситуации: попросить админа сделать следующее
1. convert переименовать в например convert_orig
2. сложный параметр с ; и скобками заменить на строку например MYPARAMS
3. convert сделать вида
- заменить в переданных параметрах MYPARAMS на сложную строку
- запустить convert_orig с замененными параметрами
И как всегда мы открыты для любых предложений как это можно сделать иначе.