От автора: приветствую вас, друзья. Итак, мы продолжаем цикл статей, посвященных знакомству с одной из популярнейших CMS для создания интернет-магазинов – OpenCart (Опенкарт). В этой статье мы поговорим о том, как защитить сайт на OpenCart.
Итак, данную статью мы посвятим защите сайта на OpenCart, точнее, — защите администраторской части сайта. Находится админка сайта на Опенкарт по стандартному адресу site/admin и любой желающий может попытаться взломать ее путем банального перебора паролей, никакой капчи или другого механизма защиты от перебора паролей OpenCart из коробки не предоставляет.
Но не спешите искать модуль, если хотите защититься от перебора паролей. Мы можем воспользоваться возможностями сервера Apache и поставить дополнительную авторизацию – так называемую, базовую аутентификацию. Начнем.
В папке админ создадим файл .htaccess и запишем в него следующие строки:
1 2 3 4 |
AuthType Basic AuthName "Private zone" AuthUserFile D:/webserver/domains/opencart.loc/admin/.htpasswd require valid-user |
Обратите внимание на третью строку, в ней указан путь к будущему файлу .htpasswd с данными для авторизации, этот файл мы создадим на следующем шаге. Чтобы не ошибиться с путем, откройте в админке файл config.php и возьмите из него правильный путь.
Если мы нигде не ошиблись и ваш сервер поддерживает такой способ аутентификации, тогда при попытке зайти в админку мы увидим дополнительное окно для ввода логина и пароля.
Теперь необходимо создать файл с данными аутентификации. Для этого нам потребуется утилита htpasswd.exe. Если вы работаете на Open Server, тогда найти ее можно примерно по такому адресу — webserver\modules\http\Apache-2.4\bin:
Находясь в указанной папке запустим консоль, зажав клавишу Shift и кликнув правой кнопкой мыши. Из контекстного меню выберем пункт Открыть окно команд.
В открывшейся консоли уже будет прописан путь к нужной нам папке, осталось лишь ввести необходимую команду:
1 |
htpasswd -cm .htpasswd admin |
Данная команда позволяет создать новый файл .htpasswd и добавить в него пользователя с логином admin. Вводим команду и жмем Enter. Далее нам дважды предложат ввести пароль для создаваемого пользователя.
Все, можно закрывать консоль и в этой же папке искать созданный файл.
Забираем созданный файл и кладем его в папку admin сайта.
Собственно, это все. Можем попробовать авторизоваться с указанными на предыдущем шаге данными. Если вы верно их введете, тогда увидите стандартную форму авторизации администратора Опенкарт, через которую мы авторизуемся, как и всегда.
Как видим, все достаточно просто, при этом в результате мы фактически получили двухэтапную авторизацию. К слову, если вам сложно работать с консолью, тогда вы можете попробовать воспользоваться различными онлайн сервисами для генерации файла .htpasswd, которые можно найти по запросу «htpasswd онлайн».
На этом сегодня все. Больше об OpenCart вы можете узнать из наших бесплатных или платных уроков.