Всем привет! Дорогие мои читатели. В своем последнем отчете за месяц я написал, что планирую в ближайшем будущем заняться проблемой безопасности своего блога. А если точнее, то я хочу на основе своего опыта написать небольшую книжку о том, как защитить свой сайт на вордпресс.
Как оказалось, эта тема очень обширна, так как у сайтов есть множество слабых мест, которыми могут воспользоваться хакеры или просто «нехорошие» люди
Сегодня я решил рассказать вам, как изменить префиксы базы данных mysql.
Содержание:
- Предыстория
- Первый способ. С помощью плагина
- Второй способ. Вручную
- Первый этап
- Второй этап
- Третий этап
- Видео
По умолчанию у всех блоггеров, ведущих сайты на вордпресс, префиксы имеют значение «wp_». А хакеры или специальные программы должны знать минимум информации о внутреннем устройстве вашего ресурса. Поэтому это значение лучше изменить, тем более что есть такая возможность.
Кстати, товарищи, а вы знаете, зачем вообще нужны эти префиксы? А дело в том, что в одной базе данных могут находиться таблицы для разных блогов. А чтобы система отличала эти таблицы, как раз и нужны эти префиксы. Например, для блога №1 – «wp1», для блога №2 – «wp2».
Небольшая новость по теме развития моего ресурса. Несколько дней назад заметил, что плагин от LiveInternet стал показывать поисковой трафик для моего блога. Сейчас это значение 2 %. Вот, радуюсь мелочам.
А еще с каждым днем я поднимаюсь в рейтинге доменов второго уровня по LiveInternet. Примерно 2-3 недели назад мое творение занимало где-то 75 000-ное место, а сейчас мы уже на отметке в 49000
А писал я эту статью примерно неделю, а публикуется она только сегодня. Поэтому на скриншоте ниже уже другие цифры (они стали еще лучше)
Предыстория
Сначала я думал, что это очень сложный процесс, чтобы всё сделать самому. Конечно, я знал, что есть и специальные плагины, которые решают эту проблему, но я всегда стараюсь обойтись своими силами, не очень доверяю плагинам. Тем более я люблю ковыряться в блоге. Он же мой и я хочу знать о нем всё.
Первая идея была делегировать процесс смены префиксов на техподдержку моего хостинга. Эти ребята уже зарекомендовали себя в моих глазах, несколько раз помогали мне.
В итоге сотрудник техподдержки изменил префиксы таблиц в моей базе данных, но после этого у меня пропал доступ к админке моего сайта. Пришлось им возвращать всё в исходное состояние
Но как не странно, меня это не остановило. Я просто зашел в яндекс и нашел там неплохую инструкцию, которая мне показалась вполне логичной, и я решил попытать счастье. Тем более, в случае неудачи я ничего не теряю, так как перед тем, как что-то изменять, я делаю резервные копии. А резервная копия базы данных вообще делается практически мгновенно.
Первый способ. С помощью плагина
Хоть этот способ я и не использовал, но рассказать о нем необходимо. Уверен, что не все мои читатели любят и хотят делать всё своими руками.
Есть такой плагин Acunetix WP Security или WordPress Scan Security. Вот ссылка на официальную страничку этого плагина.
При помощи него можно провести аудит безопасности вашего сайта. Вы увидите все его слабые места. Но что очень хорошо, это расширение позволяет не только выявить потенциальные проблемы, но и устранить их. Это также относится к префиксам таблиц базы данных.
Плагин имеет специальную страничку для смены префикса.
Перед внесением изменений рекомендуется создать бэкап базы данных.
Также создатели это расширения не гарантируют положительный исход операции. У всех базы данных разные, настройки блога разные, поэтому и результат не всегда одинаковый.
Для изменения префикса введите свое значение в поле «Change the Current» и нажмите «Start Renaming»
Но я этот способ использовать не стал, так как решил всё сделать собственными руками по инструкции.
Второй способ. Вручную
В этом случае вам понадобится:
- Доступ к базе данных mysql. Логин и пароль вы должны получить в панели управления своим хостингом при ее создании.
- Доступ к корневой директории сайта. Я использую для этого ftp доступ, но также обычно есть и файловый менеджер на хостинге. Мне больше нравится через FTP (потребуется программа filezilla или TotalCommander)
- Отсутствие страха ковыряться в своем блоге
Для меня все условия выполнены. А что насчет вас? Готовы идти до конца?
Найденную в интернете инструкцию я условно разделил на три этапа:
- Меняем префиксы всех таблиц в базе данных
- Отдельно редактируем содержимое таблиц wp_usermeta и wp_options
- Слегка редактируем файл wp-congig.php в корневой директории сайта
Первый этап
Необходимо зайти в базу данных mysql. Ссылка на нее находится в панели управления хостинга. Вводим логин и пароль. И мы оказываемся внутри. Если у вас не одна база данных, выберите нужную и откройте ее.
Важно! Не забудьте сделать резервную копию!
В моей базе данных находится всего 43 таблицы. У вас скорей всего будет примерно также. Теперь необходимо по очереди открывать каждую таблицу и редактировать ее название. Для редактирования нажмите на кнопку «операции в верхнем меню».
В блоке «параметры таблицы» заменяем префикс в названии. Далее сохраняем изменения и открываем следующую таблицу и так далее, пока не дойдем до последней.
Это немного муторный процесс, но будьте внимательны, ничего не пропустите, не допускайте ошибок. Я потратил на это чуть более 10 минут.
Второй этап
Это уже более сложный этап. От вас потребуется внимательность. Находим таблицу options с новым префиксом, открываем ее. У таблицы есть несколько колонок. В колонке «option_name» ищем все записи, начинающиеся с wp_.
Чтобы облегчить процесс, рекомендую использовать поиск, нажмите Ctrl + F и введите WP_.
Каждую такую запись необходимо отредактировать, и wp заменить на свое значение. В каждой строчке слева есть ссылка «изменить». При нажатии на нее открывается страничка, где следует подкорректировать значение колонки «options_name». Не забываем сохранять изменения.
Обратите внимание, что у таблиц несколько страниц. После редактирования всех записей на первой странице, переходим на вторую и так далее. В таблице options у меня оказалось 9 страниц.
Далее необходимо проделать то же самое с таблицей usermeta. Она значительно короче options, поэтому проблем не вызовет. Нужно будет редактировать значения в колонке «meta_key».
Третий этап
Это последний и самый простой этап. Найдите файл wp-config.php в корневой директории вашего сайта. Если вы пользуетесь не программой FileZilla, как я, то возможно, вам придется скачать этот файл на компьютер для его редактирования.
Если вы не знаете, что такое корневая директория сайта, то найдите папку с вашим доменом и откройте ее. Всё! Вы на месте.
Откройте этот файл, прокрутите страницу почти в самый низ. Там вы найдет строчку: $table_prefix = ‘wp_’. Замените это значение на свое. Сохраните изменения, загрузите измененный файл на хостинг.
Всё готово. Мне данная инструкция помогла.
Но всё же рекомендую вам сразу зайти на свой блог и всё проверить: всё ли на месте, всё ли работает. Надеюсь, у вас будет всё отлично. Если же что-то не так, а такое возможно, воспользуйтесь резервной копией и верните всё в исходное состояние.
Я записал еще видео, как я изменял префиксы в режиме реального времени, правда, ставил иногда видео на паузу, чтобы не показывать самые скучные моменты, когда я выполнял однообразные действия.
Очень надеюсь, что вы нашли в этой статье то, что искали. Подписывайтесь на обновления. Поделитесь этим материалом в социальных сетях, особенно если у вас есть друзья блоггеры.
До скорых встреч!
С уважением! Абдуллин Руслан
В чём смысл размещения в одной базе данных таблиц для разных блогов. Блогеру понятнее, когда каждому блогу соответствует своя база данных.
Резонный вопрос. Я тоже этого не понимаю. Зачем городить винегрет, если можно все разложить по полочкам.
На скрине же видно что у него 1 домен и на нем 3 поддомена.
Скорее всего хостинг рассчитан на 1 сайт с ограничением в 1 базу. Ну и в целях безопасности нужно менять префиксы.
Руслан, получилось все таки написать книжку о том, как защитить свой сайт на вордпресс?
Написал, но решил что смысла в ней нет. Так как в то время как раз вышло в свет несколько инфопродуктов на эту тему.
Мне кажется, что вам надо найти новую актуальную тему и все таки написать книгу. Если у вас конечно сейчас есть время на это.
Всё никак не могу сесть и сделать маленькую книжку-руководство по созданию сайта. Уже месяца два как планирую ...
Значит всему свое время. Раз планируете, значит все равно это время наступит. Вот разделаетесь с разными обстоятельствами, мешающими осуществить эту задумку и обязательно напишите.
Руслан, начните с другой темы. Ведь у вас есть уже хорошие готовые статьи. Посмотрите, что вы можете объединить в небольшую книгу. Возможно, немного подработаете, но зато книжка уже будет.
Вот поэтому я и хочу сделать руководство по созданию сайта: все статьи есть.
Надо только объединить и оформить красиво
Руслан, так у Вас пока так и не написана книжка по созданиюсайта? Или я не нашла?
А у Вас бы получилась хорошая книга!
Еще не написана — уже месяца три только в планах.
А сам план книжки уже существует? Если да, то можно собирать по отдельным пунктам. Вот так и соберется полное руководство.
Уже всё готово. Осталось только рассылку оформить
Прекрасно. Подпишемся Я сейчас тоже меню концепцию своей рассылки. Пока приостановила все подписки. Благо, и СмартРеспондер помог
А у меня возник такой вопрос. Плагины, как правило, создают свои таблицы. Вот вы переименовали то, что у вас есть, вручную. А потом тоже будете вручную переименовывать?
Я переименовывал только один раз.
Следует ли это так понимать, что новые плагины подхватывают те названия, что уже есть? Или у вас не было опыта установки плагинов после переименования таблиц?
Не совсем понял вопрос.
С установкой плагинов проблем не возникает
Может вопрос и глупый, я не совсем понимаю логику работы. Обычно плагины делают свои подкаталоги в БД. Естественно, названия зашиты под стандарт. Мне было интересно, влияет ли переименование на установку новых плагинов. Насколько я поняла, нет.
Я в эту тему не углублялся)))
Плагины ставятся новые без проблем — и ладно
Мне очень импонирует, Руслан, Ваша позиция всё делать на блоге своими руками.
А то некоторые советуют нанимать на каждом шагу профессионалов, а потом сами всё равно сталкиваются с трудностями и не могут сделать элементарного. Всё же — нужно осваивать всю науку блогостроения основательно.
К тому же, если ты не знаешь, что и как, то тебя легко могут обмануть. Или денег запросить немерено.
Полностью согласна с Надеждой в том, что , даже нанимая профессионалов, нужно понимать — для чего их нанимать, и какой результат нужно получить. Иначе — получится полный обман.
Ну да, перед исполнителями нужно ставить четкую конкретную задачу
Но ведь чтобы ставить четкую конкретную задачу перед исполнителем — нужно понимать эту четкую задачу, да ещё и уметь её проверить.
Вы правы. В идеале вы должны сами это почти уметь делать))))
А я про это и твержу: автор сайта должен уметь сам хорошо разбираться в своём блоге, разных технических тонкостях, всё настраивать и исправлять.
И если уж кому-то что-то поручать, то просто — из экономии времени.
Не только ставить. Но надо уметь и контролировать. И самое главное — самому представлять объем работы. А то могут «наплести», что так сложно, так сложно, а работы-то всего на 15 минут. Таксисты бывает так разводят приезжих, катая их по городу
Пример с таксистами хороший. именно так у меня недавно ремонтировали ноутбук. Мастер столько работы проделал...и паял-то он под микроскопом...короче — уработался...
А как проверить?
Никак. Есть только два пути. Или самому разбираться, чтобы суметь оценить уровень сложности проблемы. Или же иметь надежных людей, которым можно доверять.
Что касается ноутбуков, то сейчас их ремонтом и настройкой занимаются все, кому не лень.Очень выгодное дело.
Это потому, что появилось много пользователей, ничего не понимающих в ноутбуках.
Не только. С другой стороны это — перспективная специальность. И во многим вузах готовят ребят.
Вот поэтому-то мне и нравятся слова Руслана: «...я люблю ковыряться в блоге. Он же мой и я хочу знать о нем всё.» Они говорят о настоящем блогере-профессионале.
Спасибо на добрым слове.
Но я, конечно, не всегда всё сам делаю. Иногда всё-таки приходится и к профи обращаться. Но очень часто самому разобраться и сделать — выходит быстрее )))
Смотря какая задача. Если это единственная переделка, а ты не знаешь, как, то лучше не тратить время на изучение, а сразу нанять человека. Ведь знания эти больше могут не понадобиться.
Вот это правильное уточнение — если знания могут не понадобиться. Но сложно же изначально узнать — в чем именно будет состоять эта переделка.
Согласна. Но в некоторых случаях это бывает очевидно. Например, мне нужно было переносить сайт с одного адреса на другой.Это явно задача, что более не будет повторяться.
Ну, Вам лучше видно, когда нужно использовать силы сторонних специалистов. Мне только остаётся на ус мотать.
Большие же у вас усы. Там уже столько намотано
О, это да! Лапши на ушах висит меньше, чем информации на моих усах. Но я не испытываю от этого дискомфорта, надеюсь, что пущу на пользу.
Пора бы уже распутывать А то можно утонуть под засильем информации. Когда ее слишком много, это тоже плохо.
В сложных случаях обращаться к профи не грех. Зато по мелочам — сами быстро справитесь, и всё.
Да, надо оценить свое время и деньги. не зря же существует формула их равенства. Простую легкую проблему лучше решить самому.
Каждый решает для себя, что тратить: время или деньги. Это же правило подходит и для блогеров.
Однозначно. Но при этом надо быть ответственным за свой выбор. И потом не жаловаться, что что-то пошло не так.
А за кого-то уже решено всё: если денег нет, то только временем и остаётся располагать.)))
Это позиция слабака. Деньги всегда можно заработать. А вот позиция обвинителя других в том, что кто-то за тебя все решает, никуда не ведет.
Здравствуйте, Руслан. Уточните, пожалуйста — сохраняется ли контент и все прочее при смене префиксов? Многие пишут, что этим надо было заниматься еще на стадии создания сайта, а сейчас, мол, поезд ушел — все, что «нажито непосильным трудом», может просто накрыться. Спасибо заранее.
Здравствуйте, Галина. Контент сохраняется.
А вдруг что не так, то ведь всегда есть резервная копия...
Всегда интересно читать, когда ИТ-вопросы обсуждают не ИТ-специалисты.
Давно не встречал хостинги, которые ограничивают для пользователя количество баз данных на сервере. Но иногда случается и такое, поэтому удобно разделить таблицы разных баз данных префиксами в названии этих самых таблиц. Но в первую очередь всё дело в безопасности. Используя движок, к исходному коду (а значит и структуре БД) которого может получить доступ кто угодно, единственными средствами для обеспечения безопасности остаются префиксы в названиях таблиц и ограниченный доступ к панели администрирования CMS (в данной статье — wordpress).
Соответственно, статья поможет тем, кто при установке движка не поменял префикс, используемый по умолчанию, на свой.
И, да — резервное копирование наше всё! Делайте резервные копии как базы, так и скриптов, если Вам хоть немного дорог Ваш сайт, время, деньги и нервы. В случае взлома проще откатить всё из копии, чем нанимать профессионалов, которые потратят кучу времени на восстановление и попросят немаленькую сумму за услуги.
К вопросу о плагинах. Они при установке откуда-то берут же информацию о префиксе таблиц, поэтому и после его [правильной] смены, будут нормально устанавливаться.
Что касается добавления префикса к названию таблиц вручную. Если бы таблиц было больше 10-15, мне уже было бы лень делать это вручную.
Сам пользовался таким скриптом:
tlito.ru/massovo-pereimenovat-tablicy-bd-mysql-php-skript
Для тех, кто в этом совсем ничего не понимает:
1) скачать скрипт
2) указать в начале параметры подключения к БД, старый префикс и новый префикс
3) залить на свой сервер и один раз обратиться к этому скрипту из браузера
4) удалить скрипт с сервера
Не по теме: не нравится, что при достижении макс.вложенности, исчезает кнопка «Ответить» в комментариях. Пока комментариев не особо много, но на будущее я бы над этим задумался. Сам редко пользуюсь готовыми движками, поэтому пока ничего порекомендовать не могу.
Руслан — молодец, уже многого добился и при этом не стоит на месте, развивается. Желаю ему удачи! Не надо думать, что пришёл злой ИТ-шник всех критиковать
Спасибо за такой полезный комментарий.
По поводу кнопки «ответить» мне это тоже не очень нравится, но не хочу пока заморачиваться по этому поводу