Rate this item
(1 Vote)

Учимся защищать свой сайт с помощью файлов .htaccess

 Приветствую друзья и постоянные читатели портала Кругом Обман! В статье о защите сайта от взлома я рассказал о стандартных способах, которые вобщем то все и так знают, просто иногда забывают о них, и это становится причиной взломов. Сегодня мы поговорим о защите Ваших сайтов средствами самого сервера Apache. Хоть это и простой способ защиты, но в то же время он весьма и весьма надежен, т.к. что может быть надежнее полного запрета на доступ :).

Начнем с того, дорогие друзья, что для использования комплексной, серьезной защиты сайта нужны или больше деньги, для оплаты сервиса защиты или глубокие знания в веб-программировании. А лучше и то и другое сразу. И если у Вас серьезный проект, приносящий солидную прибыль, то  вряд ли у Вас возникнут проблемы с оплатой подходящего сервиса по защите сайта от взлома и ДДос атак. А если у Вас обычный блог, который Вы делаете для себя и Вам будет очень обидно, если его взломают, как тогда быть? И в этом случае как раз идеально подходит встроенная защита WEB-сервера Apache. Все, что Вам  нужно сделать — это выполнить несложную последовательность действий и Ваш сайт будет в достаточной мере защищен. 

Создание файла .htaccess и проверка работы.

Для начала создаем файл .htaccess. Хотите в блокноте, хотите через любой файловый менеджер, вроде total commander. Тут как Вам удобнее будет. После создания впишите туда строки:

AuthType Basic   
AuthName admin 
require valid-user 

И закиньте файл в корневой каталог, или в каталог админки. Тут зависит от того что именно Вы хотите защитить. Мы пока просто проверяем, работает ли у Вас данный файл, так что не волнуйтесь. Некоторые пишут, что действие файла распространяется на все дирректории, в том числе и на поддиректории. Но я бы рекомендовал делать отдельные файлы для каждой директории, которую Вы планируете защитить. То есть, если нужно установить защиту админки, то файл .htaccess размещаем не в корне, а в папке админки. Разместили? А теперь через браузер обратитесь к этой директории. 

Пример: http://www.mysite.ru/admin/  Если положили файл .htaccess в папку admin

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

Ограничение доступа при помощи файла .htaccess

Если Вы хотите защитить админку от несанкционированного доступа, создайте файле .htaccess  и закиньте его в директорию админки, а в самом файле пропишите:

order allow deny
deny from all
allow from ip_адрес_пользователя

Эти директивы закрою доступ в админку для всех, кроме обладателя указанного айпи-адреса. Если нужно предоставить доступ нескольким адресам, продублируйте последнюю строчку указав необходимые адреса. Узнать свой апишник можно с помощью различных сервисов, например 2ip.ru

Важно: Если используете ВПН, то айпишник под которым Вы заходите на сайт, может отличаться от присвоенного Вам вашим провайдером. Учитывайте этот факт(Я так самому себе перекрыл доступ)

К слову, если хотите закрыть доступ к какому то одному файлу сайта, пропишите следующее в файл:

<Files .htaccess>
order allow,deny
deny from all
</Files>

Если хотите заблокировать доступ к файлам определенного типа, то пропишите в файл следующее:

<FilesMatch ".(htaccess|htpasswd|ini|phps|fla|psd|log|sh)$">
Order Allow,Deny
Deny from all
</FilesMatch>

А если к Вам на сайт ломится наглый бот, и Вам нужно ограничить боту доступ или нескольким ботам(небольшая ДДос атака)  просто пропишите в файл строку:

deny from ip_адрес_нарушителя.  Таким образом можно защититься от слабых ДДос атак, если количество ботов не слишком велико. Но в случае серьезной атаки меры этот метод слабо поможет. Тут нужны другие меры. 

Защита от копирования при помощи файла .htaccess

 Тут нужно пояснение, речь идет не о запрете на копирование текстов, которые Вы написали. Речь о запрете ссылок на файлы которые у Вас хранятся. Многие воры, чтобы не перегружать свой сервер, не скачивают изображение с чужих сайтов, а просто ссылаются на файлы, находящиеся на сайте-первоисточнике.Вставка ссылки на файл, находящийся на другом сайте называется хотлинком (hotlink). Помимо ссылок на изображения этого могут быть так же ссылки и на другие файлы, например, доступные для скачивания. К тому же такие хотлинки повышают нагрузку на сервер первоисточника..

 Чтобы защитить сайт от хотлинков добавьте в файл .htaccess строчки:

RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http(s)?://(www.)?ваш_сайт.ru.*$ [NC]
RewriteRule \.(jpe?g|bmp|gif|png|css|zip|pdf|txt|doc)$ - [NC,F,L]

Чтобы открыть доступ к файлам с этим расширением для пользователей поисковых систем необходимо исключить на них запрет так же, как на ваш сайт:

RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http(s)?://(www.)?ваш_сайт.ru [NC]
RewriteCond %{HTTP_REFERER} !^http(s)?://(www.)?yandex.ru [NC]
RewriteCond %{HTTP_REFERER} !^http(s)?://(www.)?yahoo. [NC]
RewriteCond %{HTTP_REFERER} !^http(s)?://(www.)?google. [NC]
RewriteCond %{HTTP_REFERER} !^http(s)?://(www.)?bing. [NC]
RewriteRule \.(jpe?g|bmp|gif|png|css|zip|pdf|txt|doc)$ - [NC,F,L]

 Вот так друзья, можно установить дополнительную защиту своего сайта. Пусть она не слишком сложна, но это не отменяет её действенности. Так что рекомендую озаботиться и внести необходимые изменения в файл .htaccess. До новых встреч на портале Кругом Обман, друзья! 

----------------------Читайте так же----------------------

Полезные рубрики

Leave a comment

Make sure you enter all the required information, indicated by an asterisk (*). HTML code is not allowed.