Защищаем сайт при помощи .htaccess

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

1) Первый вариант — защищаем страницу сайта «Авторизация для администратора» на примере WordPress. Делаем ограничение доступа к админ-странице по IP адресу. В файле .htaccess прописываем конструкцию в котором указываем айпишник админа в качестви исключения его блокировки, для всех других будет отображаться 403 Forbidden:

<FilesMatch wp-login.php>
Order deny,allow
Allow from 212.124.6.222
Deny from all
</FilesMatch>

2) Во втором варианте мы сделаем повторную авторизацию за счет нашего сервера Apache и для этого нам потребуется все тот же файл .htaccess. Для начала на ФТП мы создаем файл .htpasswd в админской папке, т.е. ложим файл туда где лежит страница с админской авторизацией на сайте (кстати этот файл наложит запрет также и на рядом лежащие файлы, так что если в админской папке лежат всякие плагины и конфиги, то учтити что их работа может заблокироваться, а сайт и вовсе навернуться, так что нужно быть несколько повнимательней с этим методом защиты). Сам этот .htpasswd внутри должен содержать запись такого плана «админ:пароль». Лучше конечно пароль шифрануть через сервис например htmlweb.ru пофиг какой формат шифрования Вы выберете, Ваш сервак все равно их распознает при дешифровке. В итоге конечный вид содержимого файла .htpasswd принимает вид:

admin:{SHA}fEqNCco3Yq9h5ZUglD3CZJT4lBs=

Далее мы лезем в корневой каталог нашего сайта и корректируем .htaccess. Добавляем туда следующую конструкцию:

AuthType Basic
AuthName "Thats protected Area!"
AuthUserFile /usr/host/mysite/.htpasswd
Require valid-user
<Files .htpasswd>
deny from all #запрет доступа из браузера к .htpasswd
</Files>

В следующий раз я напишу как защищать авторизацию FTP также через Apache. 

Метки записи:

, ,