grilian
@grilian
Живем помаленьку...

Virusdie против preg_replace. Есть ли вирус?

Доброго дня всем!
Получил от хостера письмо дескать после сканирования Virusdie-ем у вас обнаружен вредоносный код PregReplace.E.
Найден он по трем путям: /tmp/install_54ee9eb21856e/lib_rokcommon/Doctrine/Adapter/Statement/Oracle.php, /components/com_uddeim/includes.php
и /libraries/rokcommon/Doctrine/Adapter/Statement/Oracle.php

кусок кода который в rokcommon:
/**
* Parse actual query from queryString and returns OCI statement handler
* @param string Query string to parse, if NULL, $this->queryString is used
*
* return resource OCI statement handler
*/
private function parseQuery($query=null)
{
if (is_null($query)) {
$query = $this->queryString;
}
$bind_index = 1;
// Replace ? bind-placeholders with :oci_b_var_ variables
$query = preg_replace("/(\?)/e", '":oci_b_var_". $bind_index++' , $query);

$this->statement = @oci_parse($this->connection, $query);

if ( $this->statement == false )
{
throw new Doctrine_Adapter_Exception($this->getOciError());
}

return $this->statement;
}

код из com_uddeim:
// $val = preg_replace('/<(.*?)>/ie', "'<' . preg_replace(array('/javascript:[^\"\']*/i', '/(" . implode('|', $aDisabledAttributes) . ")=[\"\'][^\"\']*[\"\']/i', '/\s+/'), array('', '', ' '), stripslashes('\\1')) . '>'", $val);

он закомментирован, поэтому опасений не вызывает и его в принципе можно и удалить.
А как быть с rokcommon? tmp в принципе почистил, осталось только в библиотеках..
Подскажите пожалуйста.
  • Вопрос задан
  • 1401 просмотр
Пригласить эксперта
Ответы на вопрос 1
@Arik
Данная конструкция (preg_replace с модификатором "e") уже устаревшая, скорее всего смутило, что почти тоже самое что и eval(), попробуйте переписать на preg_replace_callback
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы