Вопрос к разработчикам о целесообразности использования экстраполя file
Roffun |
|
---|---|
Добрый день, у меня появился вопрос к разработчикам Cotonti насчет целесообразности использования экстраполей типа file. Создание экстраполя доступно по умолчанию для многих модулей и плагинов. Получается что его можно создать без проблем, и разместить в шаблоне. После создания экстраполя его можно разместить для всех, или выборочно для определенных групп/пользователей и тд, в зависимости от условных операторов, в которые будет обрамлен тег экстраполя. Получается что условные операторы это единственый вариант для регулирования видимости в шаблоне, с точки зрения обычного пользователя, который скачал сборку, и решил добавить несколько полей. Вопрос: Создание экстраполя file c проверкой расширений txt,html, и размещение его в шаблон , обрамленное условием "только для админа" несет в себе уязвимость ? если да, то почему экстраполе этого типа доступно для создания без пояснения о риске? Есть плагин confirmtheright, который при установке создает два экстраполя типа file для users, и на этом его работа заканчивается. Дальше работают теги размещенные в шаблон: <!-- IF {PHP.cot_plugins_active.confirmtheright} AND {PHP.usr.isadmin} --> <tr> <td>{USERS_PROFILE_CONFIRMTHERIGHT1_TITLE} <small>( {PHP.cot_extrafields.cot_users.CONFIRMTHERIGHT1.field_variants} )</small></td> <td>{USERS_PROFILE_CONFIRMTHERIGHT1}</td> </tr> <tr> <td>{USERS_PROFILE_CONFIRMTHERIGHT2_TITLE} <small>( {PHP.cot_extrafields.cot_users.CONFIRMTHERIGHT2.field_variants} )</small></td> <td>{USERS_PROFILE_CONFIRMTHERIGHT2}</td> </tr> <!-- ENDIF --> Macik написал что есть потенциальная уязвимость:
Порекомендовал сделать проверку:
Дело в том, что если исходить из вышесказанного, то экстраполе file использовать нельзя, так как сделать проверку иначе как в шаблоне, со стороны обычного пользователя не получится. Сами экстраполя создаются для использования в шаблоне. Или каждому пользователю который захочет создать экстраполе, нужно будет писать обработчик собственный, так зачем тогда экстраполе нужно? Сама логика ситуации заключается в том, что нужно было каждый раз загружать/удалять на сервер проверочный файл, или создавать экстраполе file, для каждого сайта, чтобы подтверждать права с помощью загрузки текстового или html файла на сервер. Поэтому решено было сделать плагин, который бы это поле (несколько) создавал. А чтобы скрыть от других пользователей кроме админа, использовался условный оператор в шаблоне. Разница между установкой плагина и ручным созданием поля для каждого сайта - только в автоматизации процесса создания поля.
Улетел на другую планету, а там почты нету.. https://www.cotonti.com/forums/45298?m=posts
|