Как сделать проверку расширения прикрепляемого файла в Contact Form 7?
Суть вопроса такая: Как сделать проверку расширения прикрепляемого файла в Contact Form 7?
Поясню: Если указать загрузку изображений, то форма проверяет расширение после точки. Например, image.png загрузится, а image.php нет. Но зато спокойно загрузится image.php.png. Т.е. по сути, можно загружать любые скрипты и ставить файлу нужное расширение.
Есть ли какая-нибудь проверка на соответствие файла своему расширению? Кто с этим сталкивался?
Так а смысл, у вас же на сервере не запустится файл image.php.png, он загрузится в папку temp с кастомным рандомным именем и удалится после отправки, он же не будет обработан как php.
в любом случай в CF7 есть куча хуков где можно добавить свою кастомную проверку, есть хуки и валидации и before send (я вещал сюда но проверял по размеру, так как файлы храню на сервере в папке куда просто отключен php через htaccess, а сервер для всех файлов отдает ответ только скачивание)
Так можно и .exe отправить на почту под видом картинки. Понятное дело, что есть малая вероятность запуска скрипта в папке сайта, а вот прислать то, что не нужно, он вполне может.
В том то и дело, что плагин не проверяет что за файл, а просто пропускает допустимое расширение. Таким образом, можно залить любой скрипт хоть на PHP, просто дописав в конце .png - image.php.png