Здравствуйте, друзья.
Сегодня я расскажу о том, как на 99,9% защитить opencart.
За 3 года пользования опенкарт я провел ряд исследований. Последний год я просил своих коллег из Канады, Франции и Китая взломать мой тестовый сайт. Результат - ноль.
Итак. Постоянно слышу как панацею от всех болезней - переименование, перемещение админки. К сожалению, это не эффективно.
На моем сайте стоит 2 защиты:
1) на стороне сервера
2) программно.
Про первую часть я не буду говорить, так как это само собой разумеющееся: установить пароль на директорию через htpasswd.
А вот вторая часть интереснее. Приступим, всего 2 шага.
В директории админ в файле login.tpl в самом начале прописываем:
<?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 { ?>
В конце всего файла закрываем:
<?php } ?>
Всё.
Чтобы попасть в административную часть вам потребуется зайти по адресу /admin?secretkey=secretkeyvalue , где secretkey и secretkeyvalue ВАШИ значения.
У меня например на сайте так: /admin?djghjcbynthytn=jndtnvfufpby
Сложно? - нет. Потому что мои значения этой абрыкадабры равны осмысленным значениям, только на латинице: вопросинтернет=ответмагазин.
И ни одна сволочь не сможет пробраться к вам, не зная этих параметров.
И не забывайте, всё же, об элементарных правилах безопасности. Как минимум проверку на стороне сервера, где тоже нужна будет авторизация (для новичков - на хостинге в админ-панеле легко настраивается).
Благодарю за внимание.