# Как удалить вирус из файла .htaccess

Файл .htaccess часто становится объектом атак злоумышленников. Они могут добавить в него свой код, чтобы перенаправлять посетителей на рекламные веб-страницы. При этом целевой сайт может нормально открываться, если его домен вводить вручную. Но вот если вы где-то разместили баннер с рекламой, то при переходе по ссылке вместо вашего сайта у пользователей может открываться совсем другое.

# Где искать вредоносный код

Откройте файл .htaccess и внимательно изучите его содержимое. Там могут быть такие строки:

RewriteEngine On
RewriteCond %{HTTP_REFERER} .*yandex.* [OR]
RewriteCond %{HTTP_REFERER} .*google.* [OR]
RewriteCond %{HTTP_REFERER} .*ask.* [OR]
RewriteCond %{HTTP_REFERER} .*yahoo.* [OR]
...
RewriteCond %{HTTP_REFERER} .*bing.*
RewriteRule ^(.*)$ http://oneadvsite.com/index.php?t=6 [R=301,L]

Здесь мы видим, что вредоносный код соблюдает правила mod_rewrite. Если он видит, что посетитель зашёл на сайт из поисковика, то перенаправляет его на другой веб-адрес.

# Как избавиться от вируса

Файлы .htaccess могут находиться не только в корневой системе, но и в каждой подпапке сайта. Поэтому следует проверить и отредактировать их все по отдельности. Если весь файл .htaccess заражён кодом, удалите его полностью.

Обнаружить и удалить все файлы .htaccess вы можете, используя такую команду:

find . -type f -name ".htaccess" -exec rm -v {} \;

После этого замените .htaccess на свой .htaccess.restore. Далее запретите его редактировать с помощью chattr:

chattr -i .htaccess; cp .htaccess.restore .htaccess; chattr +i .htaccess

Оставьте только свой файл .htaccess в корне и установите на него права 444.

# В каких ещё файлах могут прятаться вирусы

Вредоносный код может появиться не только в .htaccess, но и в файлах index_backup.php, .php backdoor. Для их поиска можно использовать ftp-клиент. Проверьте также файл index.php, там тоже могут появиться вставки кода перед <php. После их удаления также установите на этот файл права 444.

Проверьте и начало кода в файле header.php, туда взломщики тоже могут вносить свои изменения. Убедитесь, что они не добрались до плагинов, — изучите все php-файлы. Если обнаружите подозрительный код, удалите его.

# Пара полезных советов по работе с файлом .htaccess

Редирект могут использовать не только злоумышленники — вы можете применять такой метод в своих целях. Например, если вы внесли изменения в работу сайта и хотите перенаправлять посетителей на определённую веб-страницу.

Добавьте в файл .htaccess такие строки:

order deny,allow
        deny from all
        allow from 111.222.333.444
      ErrorDocument 403 /yourpage.html
      <Files page.html>
        allow from all
        </Files>

Вместо 111.222.333.444 укажите свой IP-адрес, а вместо yourpage.html пропишите веб-страницу, на которую должны попадать посетители при заходе на сайт.

Вы также можете перенаправлять пользователей на перемещённые веб-страницы, которые недоступны по прежнему адресу. Тогда по переходе по старой ссылке люди будут попадать на обновлённый URL.

Для этого пропишите в файле .htaccess такой код:

Redirect 301 /yourold.html http://yoursite.com/new.html

У вас есть возможность запретить другим пользователям размещать на своих веб-ресурсах прямые ссылки на ваш сайт. Дело в том, что из-за этого у вас может снижаться пропускная способность канала сервера, но при этом люди не будут напрямую попадать на ваш сайт. Например, они смогут скачивать вашу картинку с другого сайта, по факту загружая её у вас.

Чтобы избежать этого, добавьте в файл .htaccess такой код:

RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(www\.)?mydomain.com/.*$ [NC]
RewriteRule \.(js|css)$ - [F]

Тогда пользователи не смогут получать доступ к .js и .css файлам, если к ним поступает запрос не с вашего сайта.