Замена префикса уже работающего сайта на CMS Joomla.
Опубликовано: 12 Февраль 2013
В этой статье речь пойдет о том, как изменить префикс базы данных уже работающего сайта. Если для Вас утомительно читать статью, то Вы можете сразу прокрутить ее в самый низ и там Вы сможете найти ссылку на видео, в котором я рассказываю все то же самое, что и в этой текстовой статье.
Итак, как известно, префикс базы даных – это своего рода настройка безопасности, которая позволяет снизить вероятность угрозы взлома сайта, например через осуществление так называемой SQL-инъекции. Когда злоумышленник может осуществить какие-то запросы к базе данных через плохо защищенные скрипты сайта. И таким образом либо записать в базу данных какую-то информацию или наоборот извлечь ее (например извлечь значения логина и id суперадминистратора системы). Префикс базы данных позволяет держать в секрете точные названия всех таблиц, в том числе тех, в которых содержится важная информация. Стандартно, для joomla 1.5, префикс имеет значение jos_ – такое значение по умолчанию устанавливается при устновке системы на сервер. Для систем joomla более поздних версий: 1.6, 1.7, 3.0 и пр. – система при установке генерирует значение префикса с помощью генератора псевдослучайных чисел, что весьма удобно. Однако, вне зависимости от версии системы может возникнуть потребность в смене значения префикса, особенно это актуально для систем версии 1.5, если Вы не позаботились установить значение отличное от стандартного в процессе установки.
На самом деле, операция смены префикса базы данных не представляет собой ничего сложного. Все достаточно просто, если действовать по порядку и внимательно. Вот об этом я и хочу рассказать в статье.
В статье я буду приводить некоторые скриншоты, учтите что в зависимости от версий систем и от того на каком хостинге Вы находитесь визуально ситуация может несколько отличаться, но не критично. Разобраться сможете.
Итак, начнем!
Для начала Вам необходимо войти в интерфейс панели управления базами данных на Вашем сервере, где установлена система Вашего сайта. Обычно ссылку на вход высылают при создании аккаунта в хостинговой кампании, также она имеется, как правило, в панели управления сервером. Возможно при входе Вам потребуется ввести логин и пароль – используйте те, которые записаны в файле конфигурации Вашего сайта (configuration.php в корне файловой системы Вашего сайта).
Далее Вам нужно выбрать из списка справа ту базу данных, с которой непосредственно работает Ваш сайт, имя этой базы данных также доступно в файле конфигурации, или же Вы можете их подсмотреть в «глобальных настройках» в админке сайта.
Далее, Вам необходимо осуществить экспорт всех таблиц выбранной базы данных. Чаще всего, эта функция доступна в верхнем меню интрефейса управления базой данных и обычно так и называется «экспорт».
В процессе настройки параметров экспорта важно выбрать «выделить все таблицы» ("select all"), «формат SQL» и «сохранить как файл» ("save as file"). После этого нажать кнопку «ОК» (или «пошел», или «go» - в зависимости от перевода Вашей панели PhpMyAdmin). И во всплывшем окне выбрать куда сохранить файл на Вашем компьютере. Этот файл является копией всей базы данных Вашего сайта.
Кстати такую операцию полезно делать регулярно, чтобы всегда иметь актуальную резервную копию базы данных сайта.
Далее, Вам необходимо открыть файл с помощью любого текстового редактора (блокнот, wordpad, dreamweaver и пр.) и внутри этого редактора открыть инструмент типа «найти и заменить». В поле «найти» Вам необходимо ввести значение старого префикса (который на данный момент имеется в базе даных) в поле «заменить на» ввести значение нового префикса. После этого нажать «заменить все». Учитывая, что такая же последовательность символов может встретиться в любой другой части документа (не только в заголовках таблиц), рекомендую вводить префиксы для замены вместе с символом нижнего подчеркивания - это максимально снизит вероятность замены тех подстрок, которые трогать не нужно.
С одной стороны есть требование сделать префикс как можно сложенее и поэтому ввести в него как можно больше символов, с другой стороны есть производительность базы данных, с учетом того, что запросов к ней даже при одном обращении к сайту может быть довольно много. Поэтому, исходя из этих двух противоположных требований, рекомендуется устанавливать префикс длиной 3-5 символа (без учета нижнего подчеркивания). В качестве значения префикса можно вводить только строчные английские буквы и цифры.
Сохраните документ в новый файл, на всякий случай, чтобы у Вас была на руках копия прежней базы данных.
Далее, перейдите в админку Вашего сайта. Зайдите в «общие настройки» (или «глобальные настройки»). Выберите там подраздел «сервер» и в нем найдите поле «префикс базы данных». В этом поле уже имеется запись, и там указано старое значение префикса. Удалите его и введите новое значение, то которые Вы только что записали в копию базы данных. После этого нажмите «сохранить».
Либо Вы можете открыть файл configuration.php и в нем изменить строку «var $dbprefix=» или «public $dbprefix =» в зависимости от версии системы joomla. После этого файл сохраните.
Внимание (!!) у Вас при этом сайт перестанет работать и при обращении к нему на мониторе (в зависимости от версии системы сайта) на белом фоне выведет текст ошибки жирным красным цветом! Не пугайтесь! Все под контролем!
Спокойно идите в phpMyAdmin, где Вы уже делали экспорт базы данных. Выделите все таблицы и нажмите «удалить» и потом «ок». После этого база данных опустеет, в ней не будет таблиц вообще.
Теперь необходимо осуществить импорт обновленной базы данных, с новым префиксом. Для этого также, как и при экспорте, в верхнем меню нажимаем «импорт», выбираем файл на нашем компьютере (будьте внимательны, укажите именно новый файл), проверьте чтобы кодировка импорта была UTF-8 и нажмите «пошел» (или «go», или «ок» в зависимости от перевода).
Если все нормально – импорт прошел отлично, то при повторном обращении к сайту, у Вас должны совершенно нормально открыться его страницы. Если же Вы зайдете в «общие настройки» в админке, в подраздел «сервер», то в поле «префикс базы данных» увидите значение нового перфикса.
Все! Обновление префикса прошло успешно! С чем Вас и поздравляю!
Ссылка на видео
Если Вам по каким-то причинам остались не понятны какие-то части статьи, возможно Вам будет комфортнее просмотреть видео. Оно доступно здесь:
http://www.webengineer.pro/joomla-safety/video/preview/lesson-08-changedbprefixbyownhand/index.html
к тому же в этом видео я разбираю замену префикса у joomla версии 1.5. В статье же, скриншоты относятся к joomla версии 3.0. Хотя принципиальных отличий нет, это могло вызвать у Вас некоторые непонятки, особенно если Вы еще только только начали работать с этой системой.
Данное видео является частью Продвинутого раздела видеокурса по безопасности сайтов, материалы которого доступны по подписке. Если Вас заинтересовала более подробная информация по безопасности сайта, то подписавшись на рассылку Вы сможете получить эти материалы бесплатно. Подробности смотрите здесь: http://www.webengineer.pro/sell-page-advanced.php
Если информация этой статьи будет интересна и полезна Вашему кругу друзей и знакомых, то Вы можете опубликовать ссылку - тогда им проще будет ее найти. Они Вам будут благодарны:).