Главная Часть 1. Создание блога Глава 7. Безопасность блога Урок 36. Волшебный файл .htaccess. Выстраиваем защиту вокруг блога

Урок 36. Волшебный файл .htaccess. Выстраиваем защиту вокруг блога

Файл htaccess

Серия статей «Мой блог - моя крепость!». Статья 6 из 6.

Всем привет!

Эта последняя статья в данной серии. Будут и другие, с более тонкими настройками. На мой взгляд, эта статья - самая интересная. Мне всегда нравилось с помощью одного файла управлять целым сервером и блогом. Данный файл синхронизирует работу блога и сервера. С его помощью Вы можете сделать абсолютно все, что захотите! От простой защиты файлов на сервере, до создания черного списка IP и манипуляций с SEO. .htaccess (hypertext access) - очень мощный инструмент. От него зависит вся работа блога. Он располагается в корневой папке на блоге (иногда в каждой папке, для управления доступом к ним). Сегодня я покажу Вам основные его настройки, которые помогут защитить Ваш блог на 100%.

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

Если данного файла у Вас нет на сервере, то ничего страшного. Открываем Adobe Dreamweaver или любой другой редактор наподобие Notepad++ и создаем текстовый файл:

После того, как создали текстовый файл, нажимаем «Сохранить как» в графе «Имя» пишите «.htaccess», в графе «тип файла» выбираете «Все файлы».

Сохраняем, теперь переходим к редактированию файла.

Помните, те или иные параметры, которые мы пропишем в .htaccess могут быть запрещены хостером и следовательно не работать. Если Вы выбрали хостинг BeGet, то проблем не возникнет!

Защищаемся от хотлинкинга.

Хотлинкинг, говоря простым языком, вставка картинки с одного сайта на другой. Например, у меня есть картинка, которая открывается по адресу http://wpguru.ru/wp-content/uploads/2012/10/lock.jpg и кто-то решил себе эту картинку не скачивать, а просто вставить эту ссылку. Следовательно, посетители, загружая его блог, загружают и картинку. А картинка загружается с моего блога, следовательно нагрузка на мой сервер огромная, хотя я ничего и не делаю. Если с моего блога будут много сайтов брать подобным образом картинки, то рано или поздно сервер перегрузится и мой блог выключится на время. Вот чтобы этого избежать, мы запишем пару параметров в .htaccess.

Вставьте ниже приведенный код, он запретит другим сайтам загружать изображения с Вашего блога. Более того, когда какую-либо картинку с Вашего блога захотят вставить себе, отобразится та картинка, которую Вы зададите в этом коде! Можно нарисовать картинку небольшую с надписью «Не воровать!» и тп. И она будет выводиться на чужих блогах. Вот собственно сам код:

Обязательно измените domain.ru на домен Вашего блога. А stop_stealing.gif измените на название Вашей картинки, которую Вы хотите выводить на чужих блогах вместо запрошенной картинки.

Как разрешить заходить на Ваш блог только определенным людям?

Для этого вставьте код:

Измените domain.ru на Ваш домен. Allow from 124.34.48.165 - введите вместо этих цифр нужный айпи. Строчек Allow from и айпи должно быть ровно столько, скольким людям Вы разрешили зайти на блог.

Как перенаправить пользователя на другой сайт или на определенную страницу?

Если Вы хотите перенаправить посетителя на другой блог или на какую-либо страницу на Вашем блоге, без санкций со стороны поисковых систем, вставьте этот  код:

Не забудьте изменить domain.ru на ваше доменное имя, а /d/file.html и /r/file.html на соответствующие директории и страницы.

Создаем свои страницы ошибок

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

Создайте в директории сайта папку «error» и разместите в ней соответствующие файлы

Делаем черный список IP

Если Вам надоел какой-либо пользователь, к примеру, потому что спамит Ваш блог, Вы можете ему закрыть доступ к блогу, просто вставьте этот код:

Узнать IP адреса комментаторов можно или в логах Apache или с помощью сервисов статистики. В вордпрессе, IP адреса комментаторов можно увидеть в админке.

Устанавливаем страницу по-умолчанию

По-умолчанию при заходе на блог, открывается страница index.php, но с помощью кода ниже, Вы можете поставить любую страницу, к примеру «Об авторе».

Устанавливаем e-mail для администратора сайта

Вставьте следующий код:

Измените info@domain.ru на Ваш e-mail

Защищаем любой файл на сервере

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

Перенаправляем со старого домена на новый

Перенаправление используется в том случае, если вы переносите свой существующий сайт на новое доменное имя. В этом случае любой пользователь, который наберет в адресной строке http://www.olddomain.ru — будет перенаправлен на http://www.domain.ru

Удаляем «category» из URL-а

Для изменения ссылки http://domain.ru/category/news на http://domain.ru/news просто добавьте следующий код:

Запрещаем просматривать содержимое папок на сервере

Это один из самых важных параметров! Его вписать Вы должны обязательно!

Перенаправляем RSS ленту WordPress на FeedBurner

Сначала Вам надо завести свою ленту на FeedBurner. Как это сделать, я расскажу в одной из последующих статей. Если у Вас уже есть там своя лента, то вместо yourfeed вставьте адрес вашей ленты

Защищаем блог

Ниже приведенный код позволяет защитить блог от scripts enjection и нежелательных модификаций _REQUEST и/или GLOBALS.

Вот вроде и все. Мы рассмотрели основные параметры. Это лишь малая часть от всех параметров, какие существуют на свете, но на мой взгляд это основа. Остальные параметры (по крайней мере, которые я видел, но не включил в этот список) на мой взгляд, и на взгляд большинства авторитетных блоггеров - совершенно лишние.
Вот и закончили мы нашу серию статей по безопасности. Если Вы прошли все 6 уроков, то могу Вас уверить - Ваш блог теперь практически неуязвим. Вы можете найти в интернете огромное количество других плагинов по защите, однако же я Вам советую, перед установкой плагина почитать отзывы о нем, посмотреть его рейтинг среди других плагинов. И желательно, чтобы этот плагин был на официальном сайте разработчиков WordPress. Это обеспечит безопасность Вашему блогу. Т.к. я уже рассказывал Вам, как хакеры делают плагины с дырами, рассказывают какой это волшебный плагин, который за Вас защитит блог и одновременно выведет его в топ 10 в поисковиках. И когда Вы такой плагин устанавливаете - Вы в ловушке! Теперь все будет зависеть от расторопности злоумышленника.
Будут и другие статьи по безопасности - будьте уверены. Рекомендую подписаться на RSS-ленту (как подписаться?) и\или следовать за мной на твиттере, чтобы быть всегда в курсе выхода новых уроков.
На этом все, желаю удачи, до скорых встреч на WPguru.ru!

Полезные статьи Вам на почту!

Нас более 700 человек!

Комментарии

Лариса
0

Добрый вечер, Олег! На сервере, где находится мой блог настроили систему безопасности так, что она блокирует все айпи кроме РФ и СНГ. Поэтому я не могу проверить свой блог на зарубежных сайтах (на валидность, внутренние и внешние ссылки и т.д.), а все таки следить за этим нужно.
Как правильно открыть доступ к сайтам которые мне будут нужны...
Правильно ли будет прописать в файле .htaccts : allow from ... и IP - адрес?
Если да, то подскажите, Олег, как его узнать?

15.03.2013
Sly
0

Добрый! Если я правильно понял, то Вы говорите о том, что не можете проверить свой сайт в зарубежных сервисах потому, что им запрещен доступ к нему, так? Если это так, тогда .htaccess Вам не поможет. Параметры allow from и тд. сделаны не затем, чтобы разрешать сайтам проверять Ваш, а чтобы разрешить именно пользователям доступ к Вам. Хотя в теории, Ваш подход должен помочь, давайте попробуем! Вообще, лучше обратиться в саппорт к хостеру, но если это бесполезно, тогда откройте файл .htaccess, впишите allow from, а айпи можно узнать благодаря сервису cy-pr.com. Впишите в нем адрес нужного сервиса, и под строкой "ключевые слова" увидите графу: "айпи сервера", вот Вам и нужный айпи. Кстати! Пока я это писал, я вспомнил одну вещь: у вас в файле .htaccess случайно нет строки allow from? Если нет, то лучше вставьте ее. Она позволит всем айпи адресам заходить на Ваш блог, и зачем тогда, спрашивается вписывать каждый по отдельности? 🙂 Но если есть эта строка, и так же у зарубежных нет доступа к Вам, то увы, ничего не сделать, кроме как обратиться к хостеру, либо сменить его. Еще раз повторю, в теории это должно сработать, но на практике шансов мало. Но мы обязаны попробовать 🙂

16.03.2013
Лариса
-1

Олег, спасибо за подсказку насчет IP. Дело в том, что на сервере совсем недавно сделали настройки безопасности. Когда я обратилась к менеджерам мне ответили , что я могу прописать в в самом начале файла .htaccess - allow from all, но мне этого не советуют делать в целях безопасности.
Вот я и хочу попробовать - вышеописанную теорию, (ну не буду же я обращаться по каждому сайту к хостеру, а менять его не хочется, не известно какой в обслуживании будет следующий). Если на практике теория не сработает, то тогда уже буду теребить службу поддержки...

16.03.2013
Sly
0

А, ну тогда сделайте, как я выше описал. Посмотрим заработает ли. Обязательно напишите, помогло ли, для меня это все же тоже опыт 🙂

16.03.2013
Лариса
0

Олег, все сработало.
В самом начале файла .htaccess — я прописала :
Allow from 128.30.52.91
Allow from 5.9.29.47
Эти команды разрешают сканировать мой сайт.
Теперь могу проверить свою Барышню и на валидацию и на кол-во ссылок... 🙂

17.03.2013
Sly
0

Супер! Хорошо, что все получилось. Удачи Вам 🙂

17.03.2013
Андрей
0

Олег, добрый. Переношу полностью весь товар с одного сайта на другой. Столкнулся с проблемами. Как правильно прописать некоторые редиректы? Например:
http://www.poznaika.by/?cat&sub=2&ttype=169 на
http://www.c3.by/catalog/536
http://www.poznaika.by/?until=3&ttype=219 на http://www.c3.by/catalog/volshebnyi-mel
http://www.poznaika.by/?articles=6 на
http://www.c3.by/oplata-za-tovary-nalozhennym-i-bankovskim-platezhom
Может есть какой-то алгоритм, не совсем понятно назначение ^ и *
Спасибо.

21.05.2013
Sly
0

Доброй ночи!
А Вам надо переносить лишь определенные страницы? Если весь сайт, то вот так:
Redirect 301 / http://c3.by/
Если же каждую статью отдельно, то вот Вам исходник:
RewriteRule ^/tovar-1\.html$ http://site2/tovar-1.html [R=301,L]
RewriteRule ^/tovar-1/$ http://site2/tovar-1.html [R=301,L]
RewriteRule ^/tovar-1$ http://site2/tovar-1.html [R=301,L]
Где tovar1 - урл сайта. В вашем случае вместо товар1 надо прописывать урл страницы БЕЗ урла сайта. То есть только то, что идет после слеша / .

22.05.2013
vladimir
0

Я вот очень боюсь сам лезть в этот файл. Было много неудачного опыта. Перед изменением всем советую сделать 2-3 резервных копий файла. Изменял под вашим руководством, проблем, к счастью, не возникло. Спасибо за подробные уроки!

15.12.2015

Олег, спасибо за полезную инфу про .htaccess - будем настраивать

19.02.2017
Webdevkin
0

Хорошо написано, спасибо!

18.05.2017

Оставить комментарий

Поделиться