NULL байт в PHP файлах.

Тема в разделе "Как сделать...", создана пользователем PHPCod3r, 27 июн 2012.

  1. PHPCod3r

    PHPCod3r

    Регистр.:
    7 июн 2010
    Сообщения:
    261
    Симпатии:
    25
    Приветствую всех!
    Иногда, бывают создаются файлы с пхп кодом, в которых присутствует нуль-байт, такие файлы могут появлятся по разным причинам вариантов много, но суть не в этом, интересен другой момент
    Какие PHP могут коректно обработать такие файлы с NULL байтом внутри?

    У меня на пхп 5.3.8 файлы с нуль байтом, обрабатываться не захотели ((
    Или может тут еще важны настройки и версия веб сервера?
     
  2. morine

    morine Создатель

    Регистр.:
    11 фев 2012
    Сообщения:
    28
    Симпатии:
    11
    А почему бы вам не пройтись по файлам и не убрать null байты? Сами по себе они не появляются, а их наличие может не лучшим образом сказаться в самый не подходящий момент
     
  3. DrakonHaSh

    DrakonHaSh

    Регистр.:
    29 июн 2010
    Сообщения:
    358
    Симпатии:
    122
    зависит от версии php, а не от настроек.
     
  4. morine

    morine Создатель

    Регистр.:
    11 фев 2012
    Сообщения:
    28
    Симпатии:
    11
    От версии php зависит только наличие фиксов предотвращающих эксплоиты с использованием null byte
     
  5. DrakonHaSh

    DrakonHaSh

    Регистр.:
    29 июн 2010
    Сообщения:
    358
    Симпатии:
    122
    не только, а тоже/также :)
     
  6. PHPCod3r

    PHPCod3r

    Регистр.:
    7 июн 2010
    Сообщения:
    261
    Симпатии:
    25
    Не, убирать ничего не надо, интересен сам вопрос, для каких версии пхп нуль байт в файле(имено в файле), припятствуюет выполнению скрипта?

    Ок, можете поделиться более детальной информацией(возможно вы тестили или точно знаете), где файлы с нуль байтом работать будут. а когда нет?
     
  7. DrakonHaSh

    DrakonHaSh

    Регистр.:
    29 июн 2010
    Сообщения:
    358
    Симпатии:
    122
    в свое время наткнулся на этот нюанс, выяснил что нюанс этот зависит от версии php - в более старых работает, в более новых нет (какие конкретно версии - инфу не сохранил).
    по итогу решил забить на использование таких php файлов т.к. обновят на хостинге php и бай бай функционалу :(

    кста, при желании из любого файла (картинки, пакованные php) можно убрать нули не утратив функционала ;)
     
  8. morine

    morine Создатель

    Регистр.:
    11 фев 2012
    Сообщения:
    28
    Симпатии:
    11
    Вы точно ничего не путаете? Потому что "убирать ничего не надо" совсем не сочитается с тем чем является Перейти по ссылкеМожет быть вы имеете в виду BOM? Потому что я честно сомневаюсь что у вас по коду %00 растыканы
     
  9. PHPCod3r

    PHPCod3r

    Регистр.:
    7 июн 2010
    Сообщения:
    261
    Симпатии:
    25
    Если говорить об изображениях с кодом то от туда вы врятли уберете нули, не испортив самого изображения.
    В определениях форматов JPEG PNG и других, нуль байты есть и будут, уберете нарушите структуру маркеров или чанков или еще чего нить и все , весь вкус пропал (
     
  10. DrakonHaSh

    DrakonHaSh

    Регистр.:
    29 июн 2010
    Сообщения:
    358
    Симпатии:
    122
    согласен. но, в моем понимании, ведь в случае с изображением с кодом на php важен именно код, а не художественность изображения :)

    да вроде как нет там *обязательных* нулей.
    jpg: Перейти по ссылке (длина секции - 2 байта :) )
    png: Перейти по ссылке (длина чанка задается 4 байтами :( - сложно без нулей )

    я это все к тому, что при *желании*, можно сконструировать валидное изображение с кодом на php не содержащее ни одного нуля. хотя такое занятие для истинных поклонников IT-камасутры :)