За последние 24 часа нас посетили 15490 программистов и 1607 роботов. Сейчас ищут 926 программистов ...

Безопасность $_FILES???

Тема в разделе "PHP для новичков", создана пользователем bigcat, 3 мар 2008.

  1. bigcat

    bigcat Активный пользователь

    С нами с:
    29 фев 2008
    Сообщения:
    5
    Симпатии:
    0
    Здравствуйте. Я только начал изучать PHP, поэтому у меня возникает множество вопросов.

    Вопрос 1: насколько безопасно передавать файлы? Возьмем конкретный пример. Мне необходимо обратиться к имени файла (который загрузили), чтобы получить из него данные (скажем число в скобках). Насколько это безопасно.

    Вот примерный код:

    Код (Text):
    1.  
    2. <?php
    3.    $nameFile=basename($_FILES['upload']['name']);
    4.    $indxStart=strpos($nameFile, '(');
    5.    $indxEnd=strpos($nameFile, ')');
    6.    $numPotok=substr($nameFile, ($indxStart+1), ($indxEnd-$indxStart-1));
    7.   ?>
    Насколько это безопасно??? Скажем, если я в строку вместе с именем файла допишу что нибудь экзотическое ( например "| cd ../; cat pass.config"), то не выполниться ли скрипт после файла? (Я пробовал, у меня не выполнился, но возможно есть какой-то другой обход).
     
  2. lexa

    lexa Активный пользователь

    С нами с:
    22 июл 2007
    Сообщения:
    1.746
    Симпатии:
    0
    Адрес:
    Санкт-Петербург
    Если написать в названии файла "голые сиськи, большие голые сиськи", то есть вероятность, что программист отвлечётся и его похакают. Ага.

    Если ты переменную $numPotok не сунешь в system() какой-нибудь, то ничего не случится.

    PHP для тебя не первый язык и тебе промыли мозги коллеги по другому языку. PHP не дырявый. Мозги у программистов дырявые.
     
  3. antonn

    antonn Активный пользователь

    С нами с:
    10 июн 2007
    Сообщения:
    2.996
    Симпатии:
    0
    прочел три раза, на четвертый раз прочел правильно, хорошая фраза %)))

    зависит от того, куда потом эта строка пойдет. Как переменная она безопасна :)
     
  4. bigcat

    bigcat Активный пользователь

    С нами с:
    29 фев 2008
    Сообщения:
    5
    Симпатии:
    0
    Все понял, спасибо.
     
  5. lexa

    lexa Активный пользователь

    С нами с:
    22 июл 2007
    Сообщения:
    1.746
    Симпатии:
    0
    Адрес:
    Санкт-Петербург
    antonn, :).
     
  6. Vladson

    Vladson Старожил

    С нами с:
    4 фев 2006
    Сообщения:
    4.040
    Симпатии:
    26
    Адрес:
    Estonia, Tallinn
    +1000 без вопросов