ОБСУЖДЕНИЕ

Уязвимость Preg_replace

2 ответов 5,6 тыс.
AI-выжимка обсуждения скоро

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

Автор темы
Мне сказали что в этом коде уязвимость, но я непонимаю где !? Помогите понять.

Код:
// Удаление неизвестных символов: целое число
function pr_a ($ee) { return preg_replace("/[^0-9]/", '', $ee); };

Вот что мне написали.
Если не хватает знаний чтобы понять почему я показал именно эту строку в качестве примера - Великий Гугл тебе поможет.
Скорми ему следующую волшебную фразу: "уязвимость preg_replace".
 
Тут нету уязвимости, она была бы при таком коде
PHP:
// Удаление неизвестных символов: целое число
function pr_a ($ee) { return preg_replace("/[^0-9]/e", '', $ee); };
Модификатор e.
 
http://php.net/manual/ru/function.preg-replace.php
PHP:
mixed preg_replace ( mixed $pattern , mixed $replacement , mixed $subject [, int $limit ] )
Модификатор /e меняет поведение функции preg_replace() таким образом, что параметр replacement после выполнения необходимых подстановок интерпретируется как PHP-код

мне кажется не было бы тут уязвимости :)