По мотивам предыдущей заметки =)
Итак, если ваш сайт взломан или подобран пароль к вашему фтп-аккаунту и в некоторых (или во всех) файлах присутствует вражеский код iframe – самое время заняться чисткой.
Обнаружение противника
Для начала вражеский код нужно обнаружить. Самый безопасный и правильный подход – найти подозрительные участки кода в зараженных файлах и детерминировать их как вредоносные.
find . -name "*.php*" -or -name "*.*htm*" -exec grep "iframe" {} \; -print | less
В результате вы увидите код ифреймов и пути к зараженным файлам:
<iframe src=»site.ru» width=»0″></iframe>
/root/temp/3/1.htm
<iframe src=»site.ru» width=»0″></iframe>
/root/temp/3/1.shtml
<iframe src=»site.ru» width=»0″></iframe>
/root/temp/3/1.html
Если не хотите видеть путь к файлам (в принципе, на данном этапе он и не нужен), уберите ключ -print.
Kill ‘em all
Теперь, когда вы уже знаете врага в лицо, можно приступать к чистке:
find . -name "*.php*" -or -name "*.*htm*" -exec sed -i '' -e 's/\<iframe\ src="site\.ru".*\>\<\/iframe\>//g' {} \;
/!\ Внимание /!\
sed отредактирует ваши файлы! Если вы не уверены в правильности составленного кода, можете использовать более безопасный вариант (без » после ключа -i):
find . -name "*.php*" -or -name "*.*htm*" -exec sed -i -e 's/\<iframe\ src="site\.ru".*\>\<\/iframe\>//g' {} \;
В этом случае, sed оставит исходные копии файлов с именами с -е в конце (исходный: 1.shtml-e, исправленный: 1.shtml). Если *вдруг* что-то пошло не так, сможете быстро восстановить исходные файлы.
куда прописывать find . -name “*.php*” -or -name “*.*htm*” -exec grep “iframe” {} \; -print | less ?
если у вас Linux или FreeBSD, то в консоль