Реклама на сайте Advertise with us

PHP вывод текста, который будут интерпретироваться как php?

Расширенный поиск по форуму
 
Новая тема Новая тема   
Автор
Поиск в теме:

нет судьбы

С нами с 27.03.03
Сообщения: 4427
Рейтинг: 4204


Передовик Master-X (16.07.2011) Передовик Master-X (16.10.2011) Передовик Master-X (01.11.2011) Передовик Master-X (16.11.2011) Передовик Master-X (01.01.2012) Ветеран трепа Master-X (16.02.2012)
Ссылка на сообщениеДобавлено: 02/05/15 в 20:52       Ответить с цитатойцитата 

Пример:
есть файл с именем test.php
Код:

<?php
$str = '...какой-то текст <?php include "some-file.php"; ?> какой-то текст...';
echo $str;
?>

После выполнения внутри test.php будет строка <?php include "some-file.php" ?>, которая не интерпретируется php, а идёт как текст. Существуют ли конструкции, которые позволят выдать строковую переменную так, чтоб если внутри этой переменной будет php код, то он будет выполнен а всё остальное вылезет текстом?

Смысл в том, что есть текстовый темплейт, который обрабатывается налету и в нём есть елемнтарные вставки <?php include блоков повторяющегося кода.

0
 



С нами с 24.10.04
Сообщения: 18881
Рейтинг: 9010


Передовик Master-X (16.03.2006) Передовик Master-X (01.04.2006) Передовик Master-X (16.04.2006) Передовик Master-X (01.05.2006) Передовик Master-X (01.11.2006) Ветеран трепа Master-X ()
Ссылка на сообщениеДобавлено: 02/05/15 в 21:20       Ответить с цитатойцитата 

9
 

Криптопохуист

С нами с 05.04.03
Сообщения: 17158
Рейтинг: 6019

Ссылка на сообщениеДобавлено: 03/05/15 в 03:15       Ответить с цитатойцитата 

Предлагаю ввести уголовную ответственность за использование eval() в коде smail11.gif

10
 

💀💀💀

С нами с 31.05.10
Сообщения: 4689
Рейтинг: 728

Ссылка на сообщениеДобавлено: 03/05/15 в 08:29       Ответить с цитатойцитата 

кури в сторону ob_start. Там примеры есть.

9
 

www.phpdevs.com

С нами с 24.10.02
Сообщения: 16633
Рейтинг: 16105


Передовик Master-X (01.09.2005) Передовик Master-X (16.09.2005) Передовик Master-X (01.10.2005) Передовик Master-X (16.08.2006) Передовик Master-X (16.10.2006) Ветеран трепа Master-X ()
Ссылка на сообщениеДобавлено: 03/05/15 в 10:00       Ответить с цитатойцитата 

ob_start вообще то с буфером вывода работает. Курить именно eval надо, ну или траву, что полегче smail101.gif

Пишу на php/mysql/django за вменяемые деньги.
Обращаться в личку.

9
 



С нами с 24.10.04
Сообщения: 18881
Рейтинг: 9010


Передовик Master-X (16.03.2006) Передовик Master-X (01.04.2006) Передовик Master-X (16.04.2006) Передовик Master-X (01.05.2006) Передовик Master-X (01.11.2006) Ветеран трепа Master-X ()
Ссылка на сообщениеДобавлено: 03/05/15 в 10:20       Ответить с цитатойцитата 

Pentarh писал:
Предлагаю ввести уголовную ответственность за использование eval() в коде smail11.gif


вам шашечки ли ехать? trollface.png
можно и распарсить регэкспом входящие данные и отформатировать и сделать кучу проверок, но зачем усложнять себе жизнь, когда можно сделать за 5 минут и все заработает trollface.png

8
 

нет судьбы

С нами с 27.03.03
Сообщения: 4427
Рейтинг: 4204


Передовик Master-X (16.07.2011) Передовик Master-X (16.10.2011) Передовик Master-X (01.11.2011) Передовик Master-X (16.11.2011) Передовик Master-X (01.01.2012) Ветеран трепа Master-X (16.02.2012)
Ссылка на сообщениеДобавлено: 03/05/15 в 10:43       Ответить с цитатойцитата 

Мда, прийдётся заменить инклуды на свои токены.

0
 

💀💀💀

С нами с 31.05.10
Сообщения: 4689
Рейтинг: 728

Ссылка на сообщениеДобавлено: 03/05/15 в 21:05       Ответить с цитатойцитата 

Stek писал:
ob_start вообще то с буфером вывода работает. Курить именно eval надо, ну или траву, что полегче smail101.gif

Ну да, как я понял что-то текстовое выводит тот инклуд, самое то получается. не евал же в самом деле. К тому же буфер можно в переменную засунуть.

0
 

Криптопохуист

С нами с 05.04.03
Сообщения: 17158
Рейтинг: 6019

Ссылка на сообщениеДобавлено: 03/05/15 в 22:57       Ответить с цитатойцитата 

ibiz писал:
вам шашечки ли ехать?

Как бывший админ говорю. Все remote code execution уязвимости на eval строятся. По этому нужно возбуждать уголовное дело против разраба за такие шутки trollface.png

2
 



С нами с 09.08.12
Сообщения: 185
Рейтинг: 378

Ссылка на сообщениеДобавлено: 04/05/15 в 11:03       Ответить с цитатойцитата 

например сохраняй в php://memory и php://temp
другой вариант eval как уже говорили - не слушай тех кто говорит что нельзя использовать eval - они нифига не знают инструмент (как защитить свои скрипты) программируют только через гугл и на фремворках готовых.

7
 

www.phpdevs.com

С нами с 24.10.02
Сообщения: 16633
Рейтинг: 16105


Передовик Master-X (01.09.2005) Передовик Master-X (16.09.2005) Передовик Master-X (01.10.2005) Передовик Master-X (16.08.2006) Передовик Master-X (16.10.2006) Ветеран трепа Master-X ()
Ссылка на сообщениеДобавлено: 04/05/15 в 12:01       Ответить с цитатойцитата 

rickdeckard писал:
например сохраняй в php://memory и php://temp

Что именно ты туда собрался сохранять и зачем ?

Пишу на php/mysql/django за вменяемые деньги.
Обращаться в личку.

0
 



С нами с 12.11.08
Сообщения: 5
Рейтинг: 8

Ссылка на сообщениеДобавлено: 05/05/15 в 21:26       Ответить с цитатойцитата 

лучше использовать нормальные шаблоны вроде http://twig.sensiolabs.org/

а если совсем нужно, то можно ограничить возможности кода и вместо eval использовать что-то вроде http://symfony.com/doc/current/components/expression_language/introduction.html

0
 



С нами с 17.03.06
Сообщения: 106
Рейтинг: 88

Ссылка на сообщениеДобавлено: 06/05/15 в 17:56       Ответить с цитатойцитата 

-

0
 
Новая тема Новая тема   

Текстовая реклама в форме ответа
Заголовок и до четырех строчек текста
Длина текста до 350 символов
Купить рекламу в этом месте!


Перейти:  



Спонсор раздела Стань спонсором этого раздела!

Реклама на сайте Advertise with us

Опросы

Рецепт новогоднего блюда 2022



Обсудите на форуме обсудить (11)
все опросы »