Перерыл огромную кучу сайтов и выбрал всё самое на мой взгляд необходимое для защиты сайта. И делюсь с вами, пошагово и при необходимости в картинках.
Если при установке каких либо дополнений к joomla потребуется изменить права доступа. В связи с тем что компонент или плагин не устанавливается. Смените их на время установки, после установки, верните все назад..
Для более полной защиты сайта на joomla права к папкам и файлам сменили, теперь переходим к шагу седьмому по смене префикса, дабы исключить любые попытки SQL инъекций в базу данных.
Самым первым шагом при попытке, что-либо сделать с сайтом, создаём резервную копию, в компаниях по техподдержке сайтов так всегда делают. Желательно всего. То есть создаём копию базы данных и копию файлов на хостинге. Они нам помогут, если что ни будь, пойдет не так или в чем, либо произойдет ошибка, от этого никто не застрахован.
Заходим в phpMyAdmin своего хостера. Видим что-то похожее. Если у вас несколько баз данных выбираете ту, с которой собираетесь проводить опыты.
Выбираем вкладку «Экспорт».
Минимум настроек. Жмем «ОК»
Сохраняем базу в отдельной папке. Для удобства, при сохранении присвойте ей имя текущей даты и времени.
Уже на своём компьютере создаёте новую копию базы данных из только что сохраненной. Именно с ней мы и будем проводить наши манипуляции.
Открываем созданную копию в «блокноте» или в другой аналогичной программе Notepad, AkelPad и другие…, я использую «Notepad».
Жмем клавиши «CTRL + F» в Notepad, «CTRL + H» в блокноте или «CTRL + R» в программе AkelPad окне выбираем вкладку «Заменить» заменяем jos_ на abcdxxx_ как на картинке.
Вместо «abcdxxx_» пишите, что вашей душе угодно. Используйте только латинские символы. Пять, шесть символов будет более чем достаточно.
Сохраняете обязательно в кодировке utf8 и с расширением SQL. Очень часто случайно сохраняют с расширением txt, так что будьте внимательней. Теперь нашу базу данных надо залить обратно на хостинг все через ту же phpMyAdmin панель. Но уже через вкладку «Импорт».
Предварительно удаляем все таблици предыдущей базы. Отмечаем все. Выбираем Удалить . Жмем подтверждение.
Сного выбираем вашу «БД» жмем «Импорт», через кноку обзор выбираем новую сохраненную копию «БД» жмем «ОК».
Как ваша база залита обратно, идем на хостинг в корневую папку вашего сайта. Можете по FTP например через FileZilla или напрямую через «Файл менеджер» своего хостера. Нам нужен файл configuration.php открываем его, находим строчку «var $dbprefix = ‘jos_'» она примерно 48 заменяем на свою var «$dbprefix = «abcdxxx_'» на ваше название. Сохраняем и заливаем обратно на сайт.
Если все сделали правильно, то ваш сайт должен работать.
На заметку: Если по каким, либо причинам сайт не заработал, не надо бросаться в панику. Проверьте, правильно ли вы выбрали кодировку при сохранении «БД» не допустили ли вы лишних пробелов точек и т.д. В конце концов, у вас имеется резервная копия всего сайта, из которой вы всегда можете все восстановить. Данный метод был проведен на этом блоге и как видите, всё работает. Если все же вы не до конца что-то поняли, то пишите комментарии, будем разбираться вместе.
В дополнение к защите сайта joomla, давайте закроем от нежелательных пользователей просмотр расположения модулей в шаблоне на сайте. Это можно осуществить с помощью файла «.htaccess» расположенного в корне вашего сайта. Большинству пользователям Joomla 1.5 известно, что расположение модулей можно просмотреть стоит лишь дописать в адресе /?tp=1, полная ссылка выглядит так: http://site.ru/?tp=1 Кто не знает записывайте.
Заходим по FTP на хостинг с помощью всё той же FileZilla. Скачиваем сначала к себе на комп данный файл. И добавляем в него следующие строчки. Можно в самом конце.
RewriteCond %{QUERY_STRING} tp=(.*)
RewriteRule ^(.*)$ index.php [F,L]
При этом если перейти по ссылке http://site.ru/?tp=1, то пользователя перекинет на главную страницу сайта.
На сегодня всё. Всем удачи в защите своего сайта на Joomla.