Magento admin panel нет возможности загрузить фото

Magento admin panel нет возможности загрузить фото

Недавно обнаружил баг, который встречается на не обновленных или не пропатченых версиях Magento, ибо сама ошибка непосредственно имеет отношение к безопасности.

Однажды вы обнаружили, что отсутствует кнопка загрузить фото (upload file/photo) на странице товара в панели администратора, далее вы возможно открыли консоль веб-разработчика – клавиша F12 и обнаружили там ошибку следующего содержания

Cannot ready property  ‘description’ of undefined at Object.Flex.getFlashPlayerVersion

Давайте рассмотрим ошибку по ближе или причины ее возникновения. В консоль браузера скопируем тот же кусок кода, который вызывает ошибку

navigator.plugins['Shockwave Flash'] || navigator.plugins['Shockwave Flash 2.0']

Результатом ее выполнения будет undefined – или ничего) и из этого ничего, дальше пытаемся получить описание плагина, соответственно вместо его описания мы получим ошибку, которая описана выше.

Ввиду того, что плагин Flash все больше и больше становиться “дырявым” и притягивает к себе любителей залезть в ваш браузер, разработчики тех же браузеров по умолчанию выключают этот плагин, что бы как то обезопасить своих пользователей.

Посмотреть список доступных плагинов navigator.plugins в браузере

Плагин Flash в этом списке отсутствует.

Что бы скрипт заработал, необходимо добавить проверку, на мой взгляд она должна быть, даже в том случае или в то время, когда плагин был доступен в браузере всегда.

version = (typeof flashPlugin !== 'undefined') ? Flex.transformVersionToArray(flashPlugin.description) : false;

 

После изменений, браузер спросит вас разрешения запустить плагин.