На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
Модераторы: Serafim, fatalist
Закрыто Soul :) 17-10-2007: По просьбе автора

Страницы: (3) 1 [2] 3  все  ( Перейти к последнему сообщению )  
  • закрыта
> проверка данных при использовании функции getimagesize()
    Цитата antonn @
    а как через av56517vx4.jpg вывести это phpinfo? мне показывает просто картинку...
    Сохранить как + смотреть любым текстовым или hex-редактором.
    Цитата antonn @
    картинки не спутаны?
    Нет, не спутаны.
    ExpandedWrap disabled
      <?php // test.php
      function verify_image($file) { ... } // код см. выше
      var_dump(verify_image('http://img80.imageshack.us/img80/7313/av56517vx4.jpg'));
      var_dump(verify_image('http://img84.imageshack.us/img84/5640/av56517lw8.jpg'));
      eval('?>'.file_get_contents('http://img80.imageshack.us/img80/7313/av56517vx4.jpg'));
      ?>
    В консоли:
    ExpandedWrap disabled
      > php -q test.php
      bool(true)
      bool(false)
       ╪ э 2Photoshop 3.0 8BIM♦♦     ▬∟☻t ◄phpinfo()
      PHP Version => ...
      Demon_id
      Умно. Всего навсего выложить на сервер с расширением php... мелочи, как два пальца..

      Я уже сам допер, что если ее проинклудить, то выполнится. Осталось понять, кому придет в голову инклудить картинки (тот факт, что некоторые не проверяют get-post и инклудят из него, во внимание не принимаю в связи с его полнейшим идиотством).
      Кстати, вопрос по той же части, как запретить выполенение скрипта в определенной папке? Не вызов его напрямую, а обычный инклуд из скрипта в корне. Пусть выводится как текст, но не выполняется.
        Цитата antonn @
        Я уже сам допер, что если ее проинклудить, то выполнится. Осталось понять, кому придет в голову инклудить картинки (тот факт, что некоторые не проверяют get-post и инклудят из него, во внимание не принимаю в связи с его полнейшим идиотством).
        Инклудить необязательно - достаточно залить файл с расширением php через форму - если файл в итоге окажется в доступном для запуска php-скриптов месте, а расширение так же останется php - выполнить его - труда не составит. Как видите, всякие функции проверки валидности содержимого файла - совершенно бесполезны.
        Цитата antonn @
        Кстати, вопрос по той же части, как запретить выполенение скрипта в определенной папке?
        Если речь о PHP - то
        php_value engine Off
        если я не ошибаюсь.
        Цитата antonn @
        Не вызов его напрямую, а обычный инклуд из скрипта в корне.
        Не надо инклудить то, что заливается пользователями. Никогда. В этом нет никакой необходимости.

        Добавлено
        Похоже, не ошибаюсь. http://www.php.net/manual/en/ref.apache.php#ini.engine
        Цитата SiMM @
        Не надо инклудить то, что заливается пользователями. Никогда. В этом нет никакой необходимости.
        А для вывода файлов пользователя существуют предназначенные для этого функции - include для этого не предназначен.
        Сообщение отредактировано: SiMM -
          если на сервер можно залить файл с расширением, которое выполняет php, и в этой папке есть возможность вызова скрипта - это значит что писавший данный скрипт либо начинающий, либо дурак, настолько банальные факторы я в расчет не беру. Предполагается, что человек хотя бы через htaccess закрыл выполнение скрипта в папке.
          Кстати, verify_image пропустила обе картинки... :(

          php_value engine Off - это в htaccess? пойду поищу..

          Цитата
          Не надо инклудить то, что заливается пользователями. Никогда. В этом нет никакой необходимости.

          да ну? а я думал можно. И спросил совсем не из интереса и желания что то узнать, просто кисти рук разминаю, всякую фигню набираю... :)

          хм, php_flag engine off и все равно инклудящийся файл выполняется. Но у меня 5 версия, от этого не зависит?
          Сообщение отредактировано: antonn -
            Цитата antonn @
            да ну? а я думал можно.
            Можно, но не нужно. Для вывода файла например есть http://php.net/readfile

            Добавлено
            Цитата antonn @
            хм, php_flag engine off и все равно инклудящийся файл выполняется.

            Объясни каким образом может так получится что ты будешь инклюдить картинку?
            Если уж так надо, смотри выше.
            Сообщение отредактировано: Pr0[)!9Y -
              Причем тут инклуд картинки, мне просто интересно, можно ли запретить вообще запретить выполнять скрипты, лежащие в определенной папке. Будут они вызваны напрямую или проинклудятся - не важно.
              в htaccess php_flag engine off - выполняются проинклуженные :(
                Цитата antonn @
                в htaccess php_flag engine off - выполняются проинклуженные
                Нутк естественно, выполняется с помощью инклюда все что можно прочесть(включая хттп).
                  Цитата antonn @
                  если на сервер можно залить файл с расширением, которое выполняет php, и в этой папке есть возможность вызова скрипта - это значит что писавший данный скрипт либо начинающий, либо дурак
                  К сожалению, этот либо начинающий, либо дурак, чаще всего считает себя далеко неначинающим и не дураком :) Достаточно даже на эту тему взглянуть - Кулибиных набралось хоть отбавляй :)
                  Цитата antonn @
                  хм, php_flag engine off и все равно инклудящийся файл выполняется. Но у меня 5 версия, от этого не зависит?
                  Проверил - работает. Правда проверял под php модулем, возможно, в CGI это работать не будет.
                  Цитата antonn @
                  Кстати, verify_image пропустила обе картинки...
                  [telepat mode]
                  ExpandedWrap disabled
                    error_reporting(E_ALL);

                  [/telepat mode]
                    Хотя имхо вообще странный вопрос, ты же должен знать что, когдаб откуда и зачем инклюдишь
                      Цитата antonn @
                      в htaccess
                      Вообще-то файл должен называться .htaccess, а не htaccess.
                        Цитата SiMM @
                        Правда проверял под php модулем, возможно, в CGI это работать не будет.

                        http://www.php.net/manual/en/configuration.changes.php#configuration.changes.apache судя по ссылке, не возможно, а точно действовать не будет.
                          Цитата
                          Нутк естественно, выполняется с помощью инклюда все что можно прочесть(включая хттп).

                          воот, мне то как раз и хотелось знать, воможно это или нет :)

                          cgi не трогаю.

                          Цитата
                          Хотя имхо вообще странный вопрос, ты же должен знать что, когдаб откуда и зачем инклюдишь

                          блин, ну интересно стало, чего плохого? :) я и так знаю, куда что инклужу, более того, я нигде никогда не инклужу через переменные (без всяких get/post и тп, фиксированый список скриптов, "набраный ручками"). Ну вот интересно стало, могу ли я запретить любое выполение из определенной папки :)

                          Цитата
                          Вообще-то файл должен называться .htaccess, а не htaccess.

                          я думаю, что мы поняли о каком файле идет речь? :)
                            Цитата antonn @
                            я думаю, что мы поняли о каком файле идет речь?
                            Вообще-то если у Вас не работает - описывать свои действия надо максимально точно, а не так, чтобы люди догадывались, что Вы имеете в виду.

                            Добавлено
                            Цитата antonn @
                            Ну вот интересно стало, могу ли я запретить любое выполение из определенной папки
                            Где лежит мануал, думаю, Вам известно - не нашли такой функциональности - значит, нельзя.
                              Цитата
                              Вообще-то если у Вас не работает - описывать свои действия надо максимально точно, а не так, чтобы люди догадывались, что Вы имеете в виду.

                              странно, о каком еще файле можно было подумать?

                              Цитата
                              Где лежит мануал, думаю, Вам известно - не нашли такой функциональности - значит, нельзя.

                              с таким подходом и форум не нужен, есть мануал...
                                Цитата antonn @
                                с таким подходом и форум не нужен, есть мануал...
                                А почему Вы думаете, что кто-то будет за Вас искать нужный Вам функционал, который никому, кроме Вас, не нужен?
                                1 пользователей читают эту тему (1 гостей и 0 скрытых пользователей)
                                0 пользователей:
                                Страницы: (3) 1 [2] 3  все
                                Закрыто Soul :) 17-10-2007: По просьбе автора



                                Рейтинг@Mail.ru
                                [ Script execution time: 0,0548 ]   [ 14 queries used ]   [ Generated: 17.07.25, 22:16 GMT ]