Я изо всех сил пытаюсь найти то, что здесь называется «$ this-> getAbsoluteFooter ()» или где находится его содержимое. Это файл шаблона?

Я спрашиваю, потому что мой сайт был взломан с помощью js-инъекции в нижнем колонтитуле. Отключение $ this-> getAbsoluteFooter () удалило инъекцию, поэтому мне не терпится найти источник.

Я погуглил, и единственное, что я нашел, - это кто-то, задающий тот же вопрос.

Спасибо.

5
Gerry 17 Окт 2015 в 02:41

2 ответа

Лучший ответ

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

Метод getAbsoluteFooter обычно определяется в следующем файле.

#File: app/code/core/Mage/Page/Block/Html.php
public function getAbsoluteFooter()
{
    return Mage::getStoreConfig('design/footer/absolute_footer');
}

В обычной системе метод getStoreConfig возвращает значение, хранящееся в core_config_data для переданного пути (design/footer/absolute_footer).

Конечно, поскольку вы взломаны, фактический файл класса $this, на который ссылается ваш шаблон, может находиться где угодно на сервере (в зависимости от серьезности вашего взлома). Попробуйте следующее, чтобы найти настоящий файл в вашей конкретной системе

//$this->getAbsoluteFooter();
$r = new ReflectionClass($this);
var_dump($r->getFilename());

Это должно показать фактическое имя файла, которое может быть app/code/core/Mage/Page/Block/Html.php или может быть чем-то другим.

Удачи!

6
Alan Storm 17 Окт 2015 в 01:04

Я обнаружил, что код был введен в базу данных в таблице core_config_data с путем 'design / footer / absolute_footer'; Подробнее на https://magento.stackexchange.com/a/42529/57576 Ty

0
Rafael Silva da Cunha 17 Окт 2017 в 16:31