Вход • Регистрация

не работает загрузка изображений в ИЕ8

  • 31 октября 2011 г. , редакция: 31 октября 2011 г.
  • не проходит загрузка изображения в ИЕ8. Проверялось в модулях новости и магазин версия 4.3.3
    С этим можно что-нибудь сделать?
    Только что проверил и в версии 4.5 - тоже не работает в ие8
    • 31 октября 2011 г.
    • Ну как это "не работает"? Я вот только что загрузил все в ИЕ8 успешно.
      Что пишет? А в других браузерах работает?
  • 31 октября 2011 г.
  • В других браузерах работает, в том числе и в ИЕ9. Ошибка проявляется в браузере ИЕ 8.0.6001.18702
    Вот что я делаю: захожу в админку (диафан 4.5), новости, редактирование любой новости, там где пункт Изображения(4 поле сверху) нажимаю обзор, выбираю тот же файл который грузится в других браузерах, и выдается ошибка красным цветом под этим полем: "Вы не можете отправить файл gif, jpeg, jpg, jpe, png. Доступны только следующие типы файлов:"
  • 03 ноября 2011 г.
  • Вот где ошибка была(/modules/images/admin/images.admin.ajax.php функция upload()):
    if(strtolower($_FILES["image"]['type'])!=$info['mime'] || ! in_array(strtolower($_FILES["image"]['type']),$mimes))
    заменить на
    if(! in_array($info['mime'],$mimes))

    потому как в некоторых случаях ИЕ возвращает в $_FILES["image"]['type'] нестандартные типы, например вместо image/jpeg будет image/pjpeg (http://msdn.microsoft.com/en-us/library/ms775147(v=vs.85).aspx)
    • 03 ноября 2011 г.
    • Мне, как разработчику, кажется что это ошибка самого IE 8.0.6001.18702 (отклонение от стандартов), исправленная в последующей версии. Лично я в замешательстве, потому что если вставить исключение для данной версии обозревателя этим могут воспользоваться злоумышленники передавая фабрикованные запросы - тем самым обходя проверки на тип загружаемого контента.
      • 03 ноября 2011 г.
      • зачем же добавлять исключения. Ведь функция getimagesize() возвращает верный майм-тип. нужно просто вместо $_FILES["image"]['type'] использовать майм-тип который возвращается функцией getimagesize($_FILES["image"]['tmp_name'])
        • 03 ноября 2011 г.
        • Да так то можно только результат выполнения getimagesize() проверять,
          Код
          $_FILES["image"]['type']!=$info['mime']
          вводилось для того что бы в дальнейшем убрать массив $mimes, который жестко "прошит" в коде.

          Спасибо за ссылку на MSND, проблему решит расширение массива $mimes :) Пойду искать IE 8.0.6001.18702 чтобы проверить

Новости

  • 18 июня
  • В сборке большое обновление demo-шаблона, дополнительная защита от спама, улучшение YML-импорта и еще много важного и интересного.
  • 24 апреля
  • В новой сборке совершили революцию в структурировании кастомизированной информации в шаблонах, добавили авторегистрацию пользователей, усовершенствовали защиту от спама, актуализировали накопительную скидку, а также улучшили производительность и стабильность работы системы.
  • 12 января
  • После выхода сборки 7.1 мы выпустили уже три патча, в каждом из которых улучшаем административную часть сайта. Сборка DIAFAN.CMS 7.1.3 уже доступна к установке. 

Форум