The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Индекс форумов
Составление сообщения

Исходное сообщение
"Re: про функции"
Отправлено diff, 04-Апр-11 20:41 
> А прочитать можно например здесь: http://www.php.su/functions/?eval

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

Кроме того речь зашла о том, что eval якобы "опасная штука". Может быть его реализация в PHP действительно какая-то угробищная. Только при чем здесь PHP, если речь шла об eval вообще.

Итак.

> PHP - исходно интерпретируемый язык, это уже подразумевает способ вычисления подобных выражений: втавка в текстовый код строки из eval.

Вообще-то существуют разные способы реализации "исходно интерпретируемых языков".
Значит в PHP это так? Он значит все в "текстовом коде" шурует. Может быть. Наверное это действительно очень опасно. )))

> По-моему, очевидно, что в этом случае подставленная строка выполняется точно так же, как и её контекст.

Вообще какой-то набор слов из желания казаться.
Что такое контекст строки? И как же выполняется ее контекст?

>>> В том то и отличие, что передаётся ссылка на существующую функцию
>> То есть вы не знаете, как передавать ссылки на несуществующие на момент трансляции функции.
> Почему же, я вполне смогу забить страницу в памяти бинарным стафом и передать туда управление, если не включена аппаратная защита на выполнение страниц данных. А всяких применений и вариаций на эту тему полно.

Можно и так, только зачем сразу так грубо. Это все спокойно делается на высоком уровне в современных языках. Вы этого тоже не знаете.

По крайней мере вы подтвердили, что можно, тогда при чем здесь "опасность eval"?

> RPC - это remote call, выполняется он на другом хосте и, как  правило, после авторизации

Купились на слово remote? Нет, это как раз то, что вы описали - из другого процесса. Хотя он может и на другом хосте быть, пожалуйста, но не обязательно.
Не знаете предмет. Википедию для начала прочтите, что ли. Если ни одну книжку не открывали.

>> А в eval по-вашему передается только "внешний по отношению к приложению код"?
> Дыра в безопасности как раз в случае подстановок в строку евала внешних данных, как всегда.

Что значит как всегда? Может у вас действительно так всегда.

А если в eval подставляются не внешние данные? Ну в чем опасность именно самого eval? Ну не передавайте ему "внешние данные" без проверки. Или вообще внешних данных не передавайте ему. При чем здесь сам eval, как "опасная штука" по умолчанию?

Не знаете предмет.

 

Ваше сообщение
Имя*:
EMail:
Для отправки ответов на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
  Введите код, изображенный на картинке: КОД
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру