OpenCart, как и некоторые другие CMS, можно назвать относительно защищенной платформой. Однако, как и в случае с другими системами управления контентом, лучше сразу позаботиться о безопасности и защите своего сайта от взлома посторонними лицами. В этой статье я дам основные советы, которые помогут вам повысить уровень безопасности вашего сайта. В первую очередь статья подойдет тем, у кого есть свой интернет-магазин, сделанный на базе OpenCart, но, с другой стороны, советы достаточно универсальны, поэтому будут интересны владельцам сайтов на других CMS.
1. Сокрытие входа в административную панель
По умолчанию для того, чтобы войти в панель администратора, обычно используется такой путь: ваш_сайт.ru/admin. Естественно, чем больше информации будет у хакеров, тем легче им будет взломать ваш сайт. Поэтому первая рекомендация – нужно изменить адрес входа в административную панель с /admin на другой: /manager, /panel или что-то еще более сложное.
Как это сделать: в файловом менеджере или в phpMyAdmin, во-первых, измените название папки “admin” на другое; во-вторых, сделайте такую же замену в файле config.php внутри папки, которую вы переименовали; в-третьих, иногда изменения надо внести в файл config.php в корневой папке (проверьте, есть ли там упоминание admin).
Если все сделано правильно, то теперь административная панель будет доступна по новому адресу – главное, не забудьте его.
2. Изменение логина администратора (и пароля)
После изменения адреса для входа в панель стоит задуматься и об изменении логина, который по умолчанию выглядит тоже как admin. Надо отметить, что это вообще основной логин, который обычно используется на многих CMS, поэтому даже если у вас магазин или сайт не на OpenCart, все равно советую его незамедлительно поменять.
Как это сделать: зайдите в панель администратора, выберите пункт «Система» (в скрытом виде выглядит как шестеренка), затем «Пользователи» и снова «Пользователи». Увидите строчку в логином “admin” – зайдите в настройки и поменяйте логин на другой.
Кстати, тут же вы можете поменять и пароль – настоятельно рекомендую сделать это, придумав пароль не короче десяти символов. Если не можете придумать сами, воспользуйтесь одним из онлайн-сервисов по генерации паролей, которые легко можно найти в Гугле или Яндексе.
Внимание! Не используйте повторяющиеся пароли! Каждый пароль должен быть индивидуальным, ни в коем случае не ставьте для входа в панель администратора такой же пароль, как и, к примеру, для входа в почту.
3. Изменение прав доступа для важных файлов
Два файла, а именно config.php в корневой папке и config.php в папке, которая по умолчанию называется admin (название которой менялось выше), содержат важную информацию, связанную в базой данных, поэтому рекомендуется изменить права доступа для этих файлов на «Только чтение».
Как это сделать: менять права можно при помощи любого инструмента, которым вы пользуетесь для работы с файлами. Самый простой способ – изменить их прямо в панели управления хостингом. В Timeweb вам нужно найти файл в разделе «Файловый менеджер», выбрать его, а затем нажать «Права доступа»:
Можно выставить там цифрами 444 (только чтение для владельца и для всех остальных), либо отметить ползунками эти же параметры.
Также можно воспользоваться FTP-клиентом – например, Filezilla – и выставить права доступа там.
4. Отказ от отображения ошибок
Как правило, при взломе хакеры используют разные лазейки, и в этом им часто помогают сообщения об ошибках, которые отображаются на неправильные действия. Поэтому рекомендую отказаться от отображения этих ошибок.
Как это сделать: зайдите в панель администратора, пункт «Система», затем «Настройки» - и там в настройках откройте вкладку «Сервер», внизу будет блок «Ошибки», вот там нужно поставить «Нет» у «Показывать ошибки».
Тут у вас, скорее всего, возникнет вопрос, а что делать, если нужно посмотреть ошибки? Для этого можно использовать файл журнала ошибок (его название есть в этом же блоке в настройках).
Посмотреть его вы можете, если зайдете в корневую папку сайта, затем в system и затем в logs.
5. Добавление связки слов для входа в панель администратора
Как и в остальных случаях, в первую очередь это усложнит взлом вашей панели административной панели. Однако данный способ более сложный, чем остальные, так как предусматривает работу с кодом.
Как это сделать: в файловом менеджере вам нужно найти и открыть файл login.tpl. Вы найдете его по такому пути: public_html/admin/view/template/common/login.tpl
(Если вы ранее уже поменяли название папки admin на другое, то в этом пути также замените его на нужное.)
Далее вам нужно в самый верх файла скопировать следующие строки:
<?php if (isset($_GET['secretkey'])) {$seckey = $_GET['secretkey']; setcookie ("secretkey", $_GET['secretkey']);} else if (isset($_COOKIE['secretkey'])) {$seckey = $_COOKIE['secretkey']; } else {$seckey = '';} if ($seckey != 'secretkeyvalue') {header("HTTP/1.0 404 Not Found"); exit; } else { ?>
Но это не вся работа, которую необходимо выполнить в этом файле. Вам необходимо слова “secretkey” и “secretkeyvalue” заменить на другие (произвольные). Делать это нужно очень аккуратно, без удаления и исправления других знаков. При этом вам обязательно нужно запомнить эту пару слов, иначе вы не сможете попасть в панели администратора своего сайта.
После этого в самый конец файла вам нужно добавить:
<?php } ?>
Сохраните файл.
Теперь для того, чтобы зайти в панель администратора, вам нужно использовать ссылку такого вида:
ваш_сайт.ru/admin?secretkey=secretkeyvalue
Возвращаемся к тому, что если выше вы уже переименовали папку admin, то в эту ссылку вам вместо admin нужно поставить то название, которое вы дали этой папке. Только в этом случае вам откроется страница, куда нужно ввести данные для авторизации в панели администрирования.
Еще одно действие, которое нужно выполнить дополнительно к этому, - это запретить поисковым сервисам индексировать страницу для авторизации.
Перейдите в ту директорию, которая уже упоминалась выше (где находится login.tpl), и откройте файл header.tpl. После тега <head>, ниже добавьте строчку:
<meta name="robots" content="noindex" />
Теперь поисковые роботы не будут индексировать эту страницу. Если до этого в файле robots.txt вы писали что-то вроде Disallow: /admin (для того, чтобы запретить индексацию этой страницы), то удалите эту запись. Не забывайте, что robots.txt – это доступный всем файл, который могут посмотреть все, в том числе и взломщики. Поэтому писать там адрес панели администрирования не следует.
Комментарии