За последние 24 часа нас посетили 18688 программистов и 1606 роботов. Сейчас ищут 857 программистов ...

защита от взлома??

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

  1. dhel

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

    С нами с:
    18 май 2008
    Сообщения:
    10
    Симпатии:
    0
    Взломали сайт. Предположительно воспользовались уязвимостью конструкции:

    Код (Text):
    1. <?php
    2.         $filename=$_GET["filename"];
    3.         $filename=str_replace("ftp://","", str_replace("http://","", strip_tags(escapeshellcmd($filename))));
    4.         include($filename);
    5.         ?>
    Помогите, что надо добавить, чтобы закрыть дыру.
     
  2. Dagdamor

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

    С нами с:
    4 фев 2006
    Сообщения:
    2.095
    Симпатии:
    1
    Адрес:
    Барнаул
    dhel
    Пропустить переменную через регулярку, прежде чем тупо скармливать ее команде include. :/
    http://www.php.net/pcre
     
  3. dhel

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

    С нами с:
    18 май 2008
    Сообщения:
    10
    Симпатии:
    0
    Еще добавила проверку на существования файла:

    Код (Text):
    1.         if (file_exists($filename))
    2.         {
    3.             include($filename);
    4.         }
    Так лучше будет?
     
  4. dhel

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

    С нами с:
    18 май 2008
    Сообщения:
    10
    Симпатии:
    0
    Что именно надо добавить? Я в пхп не сильна. :(
     
  5. Vladson

    Vladson Старожил

    С нами с:
    4 фев 2006
    Сообщения:
    4.040
    Симпатии:
    26
    Адрес:
    Estonia, Tallinn
    dhel
    Ищи моё первое сообщение на этом форуме, там есть ответ (а так-же в каждом сотом моём сообщении на этом форуме)