Валидация xml

Тема в разделе "Как сделать...", создана пользователем SocMaster, 15 мар 2014.

Статус темы:
Закрыта.
  1. SocMaster

    SocMaster aka Hakerok

    Регистр.:
    26 июл 2011
    Сообщения:
    213
    Симпатии:
    47
    Мне нужно загружать пользовательские .xml, потом выводить из них данные.
    Подскажите как определить нет ли там php кода? или другой не нужно инфы. То есть проверить валидность xml
     
  2. Vishez

    Vishez

    Регистр.:
    19 авг 2013
    Сообщения:
    170
    Симпатии:
    81
    Ну если у файла расширение .xml то даже если там есть пхп код - выполняться он не будет. Получается это просто текстовые данные, удалить можно например по подстрокам "<?php" и "?>"
     
  3. SocMaster

    SocMaster aka Hakerok

    Регистр.:
    26 июл 2011
    Сообщения:
    213
    Симпатии:
    47
    Я сохраняю файл без расширения + проверяю расширения на .xml
    То есть в любом случае код выполнятся не будет?
     
  4. Vishez

    Vishez

    Регистр.:
    19 авг 2013
    Сообщения:
    170
    Симпатии:
    81
    Если расширение не .php, то не будет
     
  5. jDony

    jDony Создатель

    Регистр.:
    25 янв 2014
    Сообщения:
    41
    Симпатии:
    40
    Если на сайте найдут локальный инклуд, то эти xml с php кодом могут использовать как шелл.
    Вообще для надежности нужно:
    - Запретить через .htaccess выполнение php кода в папке где храните xml
    - Хранить xml хотя бы в base64, чтобы локальным инклудом не смогли подключить этот файл и выполнить его.
     
    SocMaster нравится это.
  6. SocMaster

    SocMaster aka Hakerok

    Регистр.:
    26 июл 2011
    Сообщения:
    213
    Симпатии:
    47
    А не подскажите как зашифровать файл?
    Загрузить, вытянуть данные и потом зашифровать и снова записать?
     
  7. jDony

    jDony Создатель

    Регистр.:
    25 янв 2014
    Сообщения:
    41
    Симпатии:
    40
    Мне хватает завернуть все это дело в base64 и потом по надобности расшифровывать обратно. Все зависит от ситуации.
    Я обычно пишу обертку для получения данных, которая прозрачно все это дело туда-сюда шифрует, поэтому основной функционал скрипта даже не приходится менять.
     
Статус темы:
Закрыта.