За последние 24 часа нас посетили 17436 программистов и 1709 роботов. Сейчас ищут 1772 программиста ...

Буферизация вывода и быстрые шаблоны

Тема в разделе "PHP для новичков", создана пользователем 440Hz, 11 авг 2006.

  1. Штаны

    Штаны Guest

  2. Dagdamor

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

    С нами с:
    4 фев 2006
    Сообщения:
    2.095
    Симпатии:
    1
    Адрес:
    Барнаул
    Штаны
    Это никакие не шаблоны, а просто вспомогательные файлы с кривым расширением ;)

    Храни шаблоны в базе данных, в чем проблема.
     
  3. Sergey89

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

    С нами с:
    4 янв 2007
    Сообщения:
    4.796
    Симпатии:
    0
    Если они уверены в безопасности, то даже открытые исходники не дадут тебе шанс для взлома.
     
  4. stas_t

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

    С нами с:
    24 апр 2007
    Сообщения:
    500
    Симпатии:
    0
    Адрес:
    Courbevoie, France
    на php.net с рождения была ссылка на каждой странице сайта -- show source. вы можете получить php-код любой страницы и рыться в своё удовольствие. он красиво расцвечен и прибамбасики всякие там слева, включая список инклудов. короче, всё для самообразования. и, хотя мне не нравится, что у них каждая страница обрабатывается динамически вместо использования прегенерации, я категорически приветствую сам подход к открытию кода. исключительно для образовательных целей, естественно.
     
  5. Штаны

    Штаны Guest

    С кривым расширением?? Если бы у этих файлов было расширение php оны бы при загрузке по отдельности – выполнялись. А так они выполняются когда собраны до кучи. По-моему это разумно.
    Мне кажется, что между спокойным уверенным сном и взломанным сайтом, прямой связи нет.

    Точно!
    Увидел.
    Не знал.
     
  6. Sergey89

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

    С нами с:
    4 янв 2007
    Сообщения:
    4.796
    Симпатии:
    0
    Не понял. Каким образом они ставят сайт под угрозу?
     
  7. Штаны

    Штаны Guest

    Ну вы же понимаете, что существует человеческий фактор. Можно что-то не учесть, не выполнить какую-то проверку и при этом думать что все учтено и все надежно проверяется. Так нужно наугад искать эти огрехи, а тут все на виду.
     
  8. Anonymous

    Anonymous Guest

    Штаны, понимаешь, этим и отличается программист от кодера. Кодер будет искать «куда бы тут еще запихнуть проверку» а программист — направит весь ввод через метод фильтрации, и забудет о «проверках» до следующего проекта.
     
  9. Штаны

    Штаны Guest

    Тогда получается, что программистов вообще не осталось :) Вот даже здесь фильтруется, да не все :) http://php.net/?lang[]
    Что вы на это скажите?
     
  10. Vladson

    Vladson Старожил

    С нами с:
    4 фев 2006
    Сообщения:
    4.040
    Симпатии:
    26
    Адрес:
    Estonia, Tallinn
    А можно учесть чем и занимаются 0.01% программистов, а остальные пишут "говнокод" и думают что крутые программисты.
     
  11. Штаны

    Штаны Guest

    Если можно учесть все, то почему же нет такого универсального блока-кода (шаблона), который бы фильтровал вводимое значение, чтобы даже начинающий программист, мог вставлять его в свои скрипты?
     
  12. Anonymous

    Anonymous Guest

    Штаны, кто сказал что его нет? То что ты об этом не знаешь, не говорит, что его нет... у меня вот, есть... ;)
     
  13. Штаны

    Штаны Guest

    А выставить его на всеобщее обозрение можешь? :)
     
  14. Kreker

    Kreker Старожил

    С нами с:
    8 апр 2007
    Сообщения:
    5.433
    Симпатии:
    0
    Такие труды вряд ли кто выставлять будет, потому как на них потрачена уйма времени. Такие вещи продаются за неплохие бабки, а не разбазариваются на каждом углу.
     
  15. Anonymous

    Anonymous Guest

    http://dklab.ru/lib/DbSimple/manual.html#cont7

    Почитай. У меня основано на этой библиотеке, точнее, выдран кусок и переделан под собственные нужды.

    Если надо, отдам в своем варианте.
     
  16. Штаны

    Штаны Guest

    Я ищу нечто универсальное, написанное более-менее оптимально. Чтобы подходило под нужды любого. Если у вас что-то такое есть, то покажите. Лично и исключительно мне показывать не нужно. Я PHP учу вторую неделю и поэтому оценить ваш труд по достоинству вряд ли смогу. А вот почитав на форуме отзывы знающих людей, думаю проникся бы смыслом идеи.
    Какие труды? Это одноразовый труд. Универсальный код проверки вводимого значения. Как говорится - бери и вставляй на каждую вводимую переменную. Например, в исходном положении этого универсального кода - все допустимые вводимые значения выключены. Далее программист зная какими должны быть значения переменной, берет и ОСОЗНАНО включает (ставит ON, убирает комментарии и т.д.) допустимый тип данных и задает интервал значений.
     
  17. dark-demon

    dark-demon Активный пользователь

    С нами с:
    16 фев 2007
    Сообщения:
    1.920
    Симпатии:
    1
    Адрес:
    леноград
    ага, это стандартная возможность php, но никто в здравом уме ею не пользуется, ибо данные нужно фильтровать в зависимости от того, куда они пойдут дальше, а не откуда они пришли. так фильтрация для вставки в базу данных - одна, для вывода клиенту - другая, для отсылки почты - третяя.
     
  18. stas_t

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

    С нами с:
    24 апр 2007
    Сообщения:
    500
    Симпатии:
    0
    Адрес:
    Courbevoie, France
    не самый разумный подход. ибо одни и те же данные могут быть выведены в html, записаны в базу, отосланы по почте, сохранены в лог-файл и переданы удалённому процессу. входные данные надо типизировать, чтобы быть уверенным, что числовые переменные содержат числа, строковые -- строки, а массивы содержат именно то, что должны. фильтровать нужно именно вывод, в зависимости от того, куда мы эти данные выводим.
     
  19. Dagdamor

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

    С нами с:
    4 фев 2006
    Сообщения:
    2.095
    Симпатии:
    1
    Адрес:
    Барнаул
    dark-demon
    stas_t
    Вы о чем? o_O
    В предыдущей мессаге автор говорит об автоматической валидации, а не экранизации данных.
    Большинство фреймворков так и устроено - при анализе GET-запроса параметры автоматически приводятся, проверяется диапазон, в наиболее экзотическом случае даже пропускаются через регэксп или функцию-валидатор.
     
  20. 440Hz

    440Hz Старожил
    Команда форума Модератор

    С нами с:
    21 дек 2012
    Сообщения:
    8.003
    Симпатии:
    1
    Адрес:
    Оттуда
    +10
     
  21. dark-demon

    dark-demon Активный пользователь

    С нами с:
    16 фев 2007
    Сообщения:
    1.920
    Симпатии:
    1
    Адрес:
    леноград
    ага, а потом получаются приколы типа вордпрессовского - постим html, а он сцуко strip_tags на входе применяет. и хоть убейся - даже если есть возможность редактирования поста - в поле редактирования тэгов не будет.
     
  22. Arik

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

    С нами с:
    14 сен 2007
    Сообщения:
    66
    Симпатии:
    0
    хм...а почему бы не хранить значения переменных в БД или XML....а шаблон писать виде:
    <html>
    <head>
    <title><?=$row[title];?></title>
    </haed>
    ???????
     
  23. 440Hz

    440Hz Старожил
    Команда форума Модератор

    С нами с:
    21 дек 2012
    Сообщения:
    8.003
    Симпатии:
    1
    Адрес:
    Оттуда
    потому, что это не шаблон, а если еще и eval() юзается, то это ваще бред.
     
  24. AntonShevchuk

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

    С нами с:
    6 июл 2007
    Сообщения:
    27
    Симпатии:
    0
    Адрес:
    Kharkov
    Так много шаблонизаторов в одном топике... вставлю и я пять копеек...

    Последнее время решил отказаться от Smarty в пользу Zend_View, если его использовать вместе с Zend_Cache - то получается очень даже ничего связочка (для большего юзабилити конечно пришлось класс Zend_View чутка расширить, если кому интересно читаем тут)...
     
  25. dark-demon

    dark-demon Активный пользователь

    С нами с:
    16 фев 2007
    Сообщения:
    1.920
    Симпатии:
    1
    Адрес:
    леноград
    не пойму, чё все так боятся xslt, но упорно пытаются придумать своё решение с ещё более громоздким синтаксисом...