Мне нужно заменить целую кучу суперглобалистов PHP на клиентском веб-сайте функцией PHP, которую я сделал для очистки суперглобальных объектов от xss-атак.
Вот как может выглядеть оригинальный код:*
echo $_REQUEST['HELLO1'] . ' AND ' . $_REQUEST['HELLO2'];
Мне нужно, чтобы это выглядело так:
echo MYCLASS::myfunction($_REQUEST['HELLO1']) . ' AND ' . MYCLASS::myfunction($_REQUEST['HELLO2']);
Основная проблема, мне нужно выполнить поиск / заменить более 100 файлов!Yikes!
Таким образом, мое решение было таким (в оболочке linux):
sudo sed -i 's/\$_REQUEST[.*\]/MYCLASS::myfunction(&)/g' *.php
Это прекрасно работает, пока только один экземпляр "$ _REQUEST" происходит на строку ...Однако с несколькими экземплярами он облажается и делает это:
echo MYCLASS::myfunction($_REQUEST['HELLO1'] . ' AND ' . $_REQUEST['HELLO2']);