Вопрос к разработчикам о целесообразности использования экстраполя file
Roffun |
|
---|---|
#41059 Macik: 3. Ты правильно пишешь, что разница между плагином и ручной установкой только в создании поля. Но почему-то полагаешь, что поле должно уметь само решать какие данные фильтровать, какие нет. Но это не правильно, т.к. это всегда было задачей расширения. А рзве у пользователя есть другие варианты кром проверок в шаблоне типа? <!-- IF {PHP.usr.isadmin} -->{ЭКСТРАПОЛЕ}<!-- ENDIF --> Если да, то где они написаны ? При создании экстраполя ничего подобного не пишется..
Я понял твою логику, она верна если цель - создание плагина, с отдельным загрузчиком. Но такой цели не было. Была одна цель : создать автоматически экстраполе файл, которое в свою очередь создает загрузчик проверочных файлов типа html или txt в корень сайта для подтверждения прав с последующим удалением. Задача: решить эту проблему средствами доступными обычному пользователю, у которого просто есть сайт на Cotonti, он ничего не знает о потенциальных уязвимостях и тем более разработках, он просто хочет получить возможность загрузить проверочный файл, и после удалить его не используя ftp.
Теперь давай представим что этот пользователь пришел на форум, почитал топики, понял что есть какой-то механизм под названием экстраполя, и задал вопрос, есть ли возможность сделать такую фишку на базе этих экстраполей? Какой ответ в таком случае получил бы пользователь ?
Если смотреть с точки зрения этого пользователя, и наличия подручных возможностей, то все сводится к экстраполям в профиле. Значит нужно создать экстраполе file, и разместить его в шаблоне. При создании поля подсказка указывает, что теги будут работать в:
В users.profile.tpl - как раз то что нужно. Поле создано, подсказка показывает где можно использовать, указывает нужные теги, остается только в шаблон их вставить. Никаких предупреждений система не выдает, значит можно пользоваться, остается только разместить в шаблоне.
Вопрос: что делать пользователю в такой ситуации ? не пользоваться экстраполем типа file вообще потому что это уязвимость ? если да, то почему оно доступно для создания, и еще совет куда вставить дается, никаких предупреждений.
Плагин появился только для создания экстраполя. Без использования плагина можно все это проделать из админки самостоятельно, дальше работает механизм экстраполя file. Он вообще ничего не делает кроме создания экстраполя. Рассуждать о потенциальных угрозах можно в теории, но на практике меня интересует ответ на один - единственный вопрос: Для чего предназначено экстраполе file для cot_users ? если его нельзя использовать, я просто удалю плагин который создает его и на этом закончится вопрос. Проверка на сервере решит вопрос безопасности ? например: если на хук extrafields.import.file.first подцепить: global $usr; if($usr['isadmin']){ cot_error('Вы не можете загружать проверочные файлы', $inputname); } Этого будет достаточно ?
Добавлено 10 минут спустя: #41059 Macik: Подводя итог, тут проблема в не правильном подходе. Для решения этой задачи, да, нужен отдельный плагин, но который берет на себя весь цикл: получение данных, обработка, хранение. Причем лучше использовать хук tools, чтобы страница ввода была в админской части. Плагин создавался исключительно для автоматизации создания экстраполя, а дальше расчет на механизм api экстраполей, зачем мне делать отдельную страницу, писать обработчики, если смысл был именно создать экстраполе а не работать вместо него ? Кстати с самого начала в описании к плагину было: Важно: плагин создавался из рассчета на одноразовые проверки, по принципу загрузил проверил удалил. На данный момент в нем два поля, это значит что одновременно может быть загружено максимум два файла. Это значит что постоянное нахождение на сервере файла не входило в планы, а только загрузка - проверка - удаление. В том числе удаление плагина (а значит поля). Добавлено 1 час спустя: ========================================== Добавил проверку , является ли пользователь админом. Цель создания плагина указана выше - автоматическое создание экстраполя. Благодарю за конструктивный развернутый ответ, Macik, в любом случае информация полезная. Улетел на другую планету, а там почты нету.. https://www.cotonti.com/forums/45298?m=posts
|
|
Dit bericht is bewerkt door Roffun (2015-10-04 10:27, 9 jaren ago) |