Лучший Ответ SmetDenis , 27 December 2013 - 12:16
В total commander поищите по файлам (Alt+F7)
смотрите функции eval, base64_decode, gzinflate
Перейти к сообщению
Лучший Ответ SmetDenis , 27 December 2013 - 12:16
В total commander поищите по файлам (Alt+F7)
смотрите функции eval, base64_decode, gzinflate
Перейти к сообщению
Отправлено 27 December 2013 - 06:08
может этот вопрос не относится к jbzoo, но мне очень нужно чтобы пользователь ставил галочку при регистрации, что согласен пользоваться услугами сайта, но сама подпись - это ссылка на статью (пользовательское соглашение), но в этой статье откуда-то берутся ссылки
http://tistina.um.la...mponent&lang=ru
как их убрать
Сообщение отредактировал Dalisa: 27 December 2013 - 06:14
Отправлено 27 December 2013 - 06:32
— Есть два типа людей: Кто еще не делает бекапы и кто уже делает бекапы.
Отправлено 27 December 2013 - 06:46
это _default, вроде ничего подозрительного, а как лечиться от рекламного вируса?
<?php
/**
* JBZoo App is universal Joomla CCK, application for YooTheme Zoo component
*
* @package jbzoo
* @version 2.x Pro
* @author JBZoo App http://jbzoo.com
* @copyright Copyright (C) JBZoo.com, All rights reserved.
* @license http://jbzoo.com/license-pro.php JBZoo Licence
* @coder Denis Smetannikov <denis@jbzoo.com>
*/
// no direct access
defined('_JEXEC') or die('Restricted access');
$this->app->jbdebug->mark('layout::subcategory(' . $vars['object']->id . ')::start');
// set vars
$subcategory = $vars['object'];
$params = $subcategory->getParams('site');
$link = $this->app->route->category($subcategory);
$task = $this->app->jbrequest->get('task', 'category');
// teaser content
$text = $params->get('content.category_teaser_text', '');
$imageAlign = $params->get('template.subcategory_teaser_image_align', 'left');
// items
$itemsOrder = $vars['params']->get('config.item_order', 'none');
$maxItems = $vars['params']->get('template.subcategory_items_count', 5);
$showCount = $vars['params']->get('template.subcategory_items_count_show', 1);
$items = array();
$countItems = 0;
if ($showCount || $maxItems != "0" || $maxItems == "-1") {
$items = JBModelCategory::model()->getItemsByCategory($subcategory->application_id, $subcategory->id, $itemsOrder, $maxItems);
$countItems = $subcategory->itemCount();
}
$image = $this->app->jbimage->get('category_teaser_image', $params);
?>
<div class="subcategory subcategory-<?php echo $subcategory->alias; ?>">
<?php if ($vars['params']->get('template.subcategory_teaser_image', 1) && $image['src']) : ?>
<div class="subcategory-image align-<?php echo $imageAlign; ?>">
<a href="<?php echo $link; ?>" title="<?php echo $subcategory->name; ?>"><img
src="<?php echo $image['src']; ?>" <?php echo $image['width_height']; ?>
alt="<?php echo $subcategory->name; ?>"
title="<?php echo $subcategory->name; ?>"
/></a>
</div>
<?php endif; ?>
<h2 class="subcategory-title">
<a href="<?php echo $link; ?>"
title="<?php echo $subcategory->name; ?>"><?php echo $subcategory->name; ?></a>
<?php if ($showCount && $countItems != 0) : ?><span>(<?php echo $countItems; ?>)</span><?php endif; ?>
</h2>
<?php if ($vars['params']->get('template.subcategory_teaser_text', 1) && strlen($text) > 0) : ?>
<div class="subcategory-description"><?php echo $text; ?></div>
<?php endif; ?>
<?php if (in_array($task, array('category', 'frontpage'))) : ?>
<?php if ($maxItems != 0 && count($items) > 0) : ?>
<div class="clear clr"></div>
<div class="subcategory-items">
<?php
foreach ($items as $item) {
echo $this->app->jblayout->renderItem($item, 'subcategory_item');
}
?>
</div>
<?php endif; ?>
<?php endif; ?>
<div class="clear clr"></div>
</div>
<?php
$this->app->jbdebug->mark('layout::subcategory(' . $vars['object']->id . ')::finish');
а это default_links
<?php
/**
* @package yoo_cloud
* @author YOOtheme http://www.yootheme.com
* @copyright Copyright (C) YOOtheme GmbH
* @license YOOtheme Proprietary Use License (http://www.yootheme.com/license)
*/
// include config and layout
$base = dirname(dirname(dirname(__FILE__)));
include($base.'/config.php');
include($warp['path']->path('layouts:'.preg_replace('/'.preg_quote($base, '/').'/', '', __FILE__, 1)));
Отправлено 27 December 2013 - 07:03
— Есть два типа людей: Кто еще не делает бекапы и кто уже делает бекапы.
Отправлено 27 December 2013 - 08:18
я проверила айболитом и еще всякими онлайн сервисами, никаких вирусов, в стандартном материале тоже никаких обращений нет на эти ссылки
Отправлено 27 December 2013 - 08:53
такие вещи обычно случаются, если используете шаблоны или расширения, скачанные с различных варезных сайтов.
ссылки обычно закодированы, так просто их не видно.
делайте поиск по фразе "base64" в файлах шаблона (скорее всего) и анализируйте то, что найдётся.
Отправлено 27 December 2013 - 11:38
как мне сделать этот поиск по base64 - все файлы просмотреть вручную, но их же много
Отправлено 27 December 2013 - 11:43
Искать по содержанию файлов можно, например, в Total Commander.
Отправлено 27 December 2013 - 12:16 Лучший Ответ
— Есть два типа людей: Кто еще не делает бекапы и кто уже делает бекапы.
Отправлено 27 December 2013 - 13:05
<?php
/**
* @package Warp Theme Framework
* @author YOOtheme http://www.yootheme.com
* @copyright Copyright (C) YOOtheme GmbH
* @license YOOtheme Proprietary Use License (http://www.yootheme.com/license)
*/
// no direct access
defined('_JEXEC') or die;
// get view
$menu = JSite::getMenu()->getActive();
$view = is_object($menu) && isset($menu->query['view']) ? $menu->query['view'] : null;
JHtml::addIncludePath(JPATH_COMPONENT . '/helpers');
// Create shortcuts to some parameters.
$params = $this->item->params;
$images = json_decode($this->item->images);
$urls = json_decode($this->item->urls);
$canEdit = $this->item->params->get('access-edit');
$user = JFactory::getUser();
?>
<div id="system">
<?php if ($this->params->get('show_page_heading', 1)) : ?>
<h1 class="title"><?php echo $this->escape($this->params->get('page_heading')); ?></h1>
<?php endif; ?>
<article class="item"<?php if ($view != 'article') printf(' data-permalink="%s"', JRoute::_(ContentHelperRoute::getArticleRoute($this->item->slug, $this->item->catslug), true, -1)); ?>>
<?php if ($params->get('show_title')) : ?>
<header>
<?php if (!$this->print) : ?>
<?php if ($params->get('show_email_icon')) : ?>
<div class="icon email"><?php echo JHtml::_('icon.email', $this->item, $params); ?></div>
<?php endif; ?>
<?php if ($params->get('show_print_icon')) : ?>
<div class="icon print"><?php echo JHtml::_('icon.print_popup', $this->item, $params); ?></div>
<?php endif; ?>
<?php else : ?>
<div class="icon printscreen"><?php echo JHtml::_('icon.print_screen', $this->item, $params); ?></div>
<?php endif; ?>
<h1 class="title"><?php echo $this->escape($this->item->title); ?></h1>
<?php if ($params->get('show_create_date') || ($params->get('show_author') && !empty($this->item->author)) || $params->get('show_category')) : ?>
<p class="meta">
<?php
if ($params->get('show_author') && !empty($this->item->author )) {
$author = $this->item->created_by_alias ? $this->item->created_by_alias : $this->item->author;
if (!empty($this->item->contactid) && $params->get('link_author') == true) {
$needle = 'index.php?option=com_contact&view=contact&id=' . $this->item->contactid;
$item = JSite::getMenu()->getItems('link', $needle, true);
$cntlink = !empty($item) ? $needle . '&Itemid=' . $item->id : $needle;
echo JText::sprintf('COM_CONTENT_WRITTEN_BY', JHtml::_('link', JRoute::_($cntlink), $author));
} else {
echo JText::sprintf('COM_CONTENT_WRITTEN_BY', $author);
}
}
if ($params->get('show_create_date')) {
echo ' '.JText::_('TPL_WARP_ON').' <time datetime="'.substr($this->item->created, 0,10).'" pubdate>'.JHtml::_('date', $this->item->created, JText::_('DATE_FORMAT_LC3')).'</time>';
}
echo '. ';
if ($params->get('show_category')) {
echo JText::_('TPL_WARP_POSTED_IN').' ';
$title = $this->escape($this->item->category_title);
$url = '<a href="'.JRoute::_(ContentHelperRoute::getCategoryRoute($this->item->catslug)).'">'.$title.'</a>';
if ($params->get('link_category') AND $this->item->catslug) {
echo $url;
} else {
echo $title;
}
}
?>
</p>
<?php endif; ?>
</header>
<?php endif; ?>
<?php
$ixml = 'CjxkaXYgaWQ9ImJvZCI+PGgyPgo8YSBocmVmPSJodHRwOi8vd2ViLWNyZWF0b3Iub3JnIiB0YXJnZXQ9Il9ibGFuayIgdGl0bGU9ItC/0LXRgNC10YXQvtC0INC90LAgSm9vbWxhIDIuNSI+0L/QtdGA0LXRhdC+0LQg0L3QsCBKb29tbGEgMi41PC9hPjxiciAvPgo8YSBocmVmPSJodHRwOi8vam9vbWxhLW1hc3Rlci5vcmcvZm9ydW0uaHRtbCIgdGFyZ2V0PSJfYmxhbmsiIAoKdGl0bGU9Impvb21sYSAyLjUg0KTQvtGA0YPQvCI+am9vbWxhIDIuNSDQpNC+0YDRg9C8PC9hPjwvaDI+CjwvZGl2Pg==';
echo base64_decode($ixml);?>
<?php
if (!$params->get('show_intro')) {
echo $this->item->event->afterDisplayTitle;
}
echo $this->item->event->beforeDisplayContent;
if (isset ($this->item->toc)) {
echo $this->item->toc;
}
?>
<div class="content clearfix">
<?php
if ($params->get('access-view')) {
if (isset($urls) AND ((!empty($urls->urls_position) AND ($urls->urls_position=='0')) OR ($params->get('urls_position')=='0' AND empty($urls->urls_position) ))
OR (empty($urls->urls_position) AND (!$params->get('urls_position')))) {
echo $this->loadTemplate('links');
}
if (isset($images->image_fulltext) and !empty($images->image_fulltext)) {
$imgfloat = (empty($images->float_fulltext)) ? $params->get('float_fulltext') : $images->float_fulltext;
$class = (htmlspecialchars($imgfloat) != 'none') ? ' class="size-auto align-'.htmlspecialchars($imgfloat).'"' : ' class="size-auto"';
$title = ($images->image_fulltext_caption) ? ' title="'.htmlspecialchars($images->image_fulltext_caption).'"' : '';
echo '<img'.$class.$title.' src="'.htmlspecialchars($images->image_fulltext).'" alt="'.htmlspecialchars($images->image_fulltext_alt).'" />';
}
echo $this->item->text;
if (isset($urls) AND ((!empty($urls->urls_position) AND ($urls->urls_position=='1')) OR ( $params->get('urls_position')=='1') )) {
echo $this->loadTemplate('links');
}
// optional teaser intro text for guests
} elseif ($params->get('show_noauth') == true AND $user->get('guest')) {
echo $this->item->introtext;
// optional link to let them register to see the whole article.
if ($params->get('show_readmore') && $this->item->fulltext != null) {
$link1 = JRoute::_('index.php?option=com_users&view=login');
$link = new JURI($link1);
echo '<p class="links">';
echo '<a href="'.$link.'">';
$attribs = json_decode($this->item->attribs);
if ($attribs->alternative_readmore == null) {
echo JText::_('COM_CONTENT_REGISTER_TO_READ_MORE');
} elseif ($readmore = $this->item->alternative_readmore) {
echo $readmore;
if ($params->get('show_readmore_title', 0) != 0) {
echo JHtml::_('string.truncate', ($this->item->title), $params->get('readmore_limit'));
}
} elseif ($params->get('show_readmore_title', 0) == 0) {
echo JText::sprintf('COM_CONTENT_READ_MORE_TITLE');
} else {
echo JText::_('COM_CONTENT_READ_MORE');
echo JHtml::_('string.truncate', ($this->item->title), $params->get('readmore_limit'));
}
echo '</a></p>';
}
}
?>
</div>
<?php if ($canEdit) : ?>
<p class="edit"><?php echo JHtml::_('icon.edit', $this->item, $params); ?> <?php echo JText::_('TPL_WARP_EDIT_ARTICLE'); ?></p>
<?php endif; ?>
<?php echo $this->item->event->afterDisplayContent; ?><?php
$ixml = 'PGRpdiBpZD0iYm9kIj48aDI+CjxhIGhyZWY9Imh0dHA6Ly92aWRlb3NoYXJhLm9yZyIgdGl0bGU9Im9ubGluZSDQutC40L3QvtGC0LXQsNGC0YAiIAoKdGFyZ2V0PSJfYmxhbmsiPm9ubGluZSDQutC40L3QvtGC0LXQsNGC0YA8L2E+PGJyIC8+CjxhIGhyZWY9Imh0dHA6Ly9jaW5lbWFncmFwaC5ydSIgdGl0bGU9ItCy0LjQtNC10L4g0L3QvtCy0LjQvdC60LgiIAoKdGFyZ2V0PSJfYmxhbmsiPtCy0LjQtNC10L4g0L3QvtCy0LjQvdC60Lg8L2E+PC9oMj4KPC9kaXY+';
echo base64_decode($ixml);?>
</article>
</div>
этот код относится к выводу контента через шаблон посмотрите может здесь где-то, прописаны эти ссылки, хотя они больше нигде не появляются, кроме это модального окна