I would like to add prefix on all folders and directories.
Example:
I have
Hi.jpg
1.txt
folder/
this.file_is.here.png
another_folder.ok/
I would like to add prefix «PRE_»
PRE_Hi.jpg
PRE_1.txt
PRE_folder/
PRE_this.file_is.here.png
PRE_another_folder.ok/
brian d foy
127k31 gold badges204 silver badges582 bronze badges
asked Jan 24, 2011 at 21:33
1
Thanks to Peter van der Heijden, here’s one that’ll work for filenames with spaces in them:
for f in * ; do mv -- "$f" "PRE_$f" ; done
(«—» is needed to succeed with files that begin with dashes, whose names would otherwise be interpreted as switches for the mv command)
Jacob C.
3431 silver badge16 bronze badges
answered Jan 24, 2011 at 21:35
CanSpiceCanSpice
34.2k10 gold badges71 silver badges86 bronze badges
8
Use the rename script this way:
$ rename 's/^/PRE_/' *
There are no problems with metacharacters or whitespace in filenames.
answered Jan 24, 2011 at 21:44
tchristtchrist
77.7k30 gold badges126 silver badges178 bronze badges
3
For adding prefix or suffix for files(directories), you could use the simple and powerful way by xargs:
ls | xargs -I {} mv {} PRE_{}
ls | xargs -I {} mv {} {}_SUF
It is using the paramerter-replacing option of xargs: -I. And you can get more detail from the man page.
answered Dec 7, 2012 at 9:14
Zheng QsinZheng Qsin
1,43311 silver badges6 bronze badges
3
This could be done running a simple find
command:
find * -maxdepth 0 -exec mv {} PRE_{} ;
The above command will prefix all files and folders in the current directory with PRE_
.
answered Oct 23, 2015 at 7:57
CyclonecodeCyclonecode
28.5k11 gold badges74 silver badges92 bronze badges
To add a prefix to all files and folders in the current directory using util-linux’s rename
(as opposed to prename
, the perl variant from Debian and certain other systems), you can do:
rename '' <prefix> *
This finds the first occurrence of the empty string (which is found immediately) and then replaces that occurrence with your prefix, then glues on the rest of the file name to the end of that. Done.
For suffixes, you need to use the perl version or use find.
answered Jan 28, 2016 at 22:15
koyaekoyae
6926 silver badges12 bronze badges
2
If you have Ruby(1.9+)
ruby -e 'Dir["*"].each{|x| File.rename(x,"PRE_"+x) }'
answered Jan 24, 2011 at 23:55
kurumikurumi
24.9k4 gold badges44 silver badges51 bronze badges
with Perl:
perl -e 'rename $_, "PRE_$_" for <*>'
answered Jan 25, 2011 at 3:40
tadmctadmc
3,70416 silver badges14 bronze badges
On my system, I don’t have the rename
command. Here is a simple one liner. It finds all the HTML files recursively and adds prefix_
in front of their names:
for f in $(find . -name '*.html'); do mv "$f" "$(dirname "$f")/prefix_$(basename "$f")"; done
answered Aug 14, 2014 at 10:04
conradkleinespelconradkleinespel
6,3209 gold badges49 silver badges86 bronze badges
1
Here is a simple script that you can use. I like using the non-standard module File::chdir
to handle managing cd
operations, so to use this script as-is you will need to install it (sudo cpan File::chdir
).
#!/usr/bin/perl
use strict;
use warnings;
use File::Copy;
use File::chdir; # allows cd-ing by use of $CWD, much easier but needs CPAN module
die "Usage: $0 dir prefix" unless (@ARGV >= 2);
my ($dir, $pre) = @ARGV;
opendir(my $dir_handle, $dir) or die "Cannot open directory $dir";
my @files = readdir($dir_handle);
close($dir_handle);
$CWD = $dir; # cd to the directory, needs File::chdir
foreach my $file (@files) {
next if ($file =~ /^.+$/); # avoid folders . and ..
next if ($0 =~ /$file/); # avoid moving this script if it is in the directory
move($file, $pre . $file) or warn "Cannot rename file $file: $!";
}
answered Jan 25, 2011 at 16:06
Joel BergerJoel Berger
20.2k5 gold badges49 silver badges104 bronze badges
This will prefix your files in their directory.
The ${f%/*}
is the path till the last slash /
-> the directory
The ${f##*/}
is the text without anything before last slash /
-> filename without the path
So that’s how it goes:
for f in $(find /directory/ -type f); do
mv -v $f ${f%/*}/$(date +%Y%m%d)_Prefix_${f##*/}
done
Paul Roub
36.2k27 gold badges82 silver badges90 bronze badges
answered Jan 11, 2018 at 16:22
Open cmd and set the directory to the folder and run the following command:
for /f "tokens=*" %a in ('dir /b') do ren "%a" "00_%a"
00_
is prefix in "00_%a"
, so you can change it according to your requirements.
It will rename all of the files in the selected folder.
Koedlt
2,0854 gold badges9 silver badges27 bronze badges
answered Dec 30, 2022 at 7:05
I would like to add prefix on all folders and directories.
Example:
I have
Hi.jpg
1.txt
folder/
this.file_is.here.png
another_folder.ok/
I would like to add prefix «PRE_»
PRE_Hi.jpg
PRE_1.txt
PRE_folder/
PRE_this.file_is.here.png
PRE_another_folder.ok/
brian d foy
127k31 gold badges204 silver badges582 bronze badges
asked Jan 24, 2011 at 21:33
1
Thanks to Peter van der Heijden, here’s one that’ll work for filenames with spaces in them:
for f in * ; do mv -- "$f" "PRE_$f" ; done
(«—» is needed to succeed with files that begin with dashes, whose names would otherwise be interpreted as switches for the mv command)
Jacob C.
3431 silver badge16 bronze badges
answered Jan 24, 2011 at 21:35
CanSpiceCanSpice
34.2k10 gold badges71 silver badges86 bronze badges
8
Use the rename script this way:
$ rename 's/^/PRE_/' *
There are no problems with metacharacters or whitespace in filenames.
answered Jan 24, 2011 at 21:44
tchristtchrist
77.7k30 gold badges126 silver badges178 bronze badges
3
For adding prefix or suffix for files(directories), you could use the simple and powerful way by xargs:
ls | xargs -I {} mv {} PRE_{}
ls | xargs -I {} mv {} {}_SUF
It is using the paramerter-replacing option of xargs: -I. And you can get more detail from the man page.
answered Dec 7, 2012 at 9:14
Zheng QsinZheng Qsin
1,43311 silver badges6 bronze badges
3
This could be done running a simple find
command:
find * -maxdepth 0 -exec mv {} PRE_{} ;
The above command will prefix all files and folders in the current directory with PRE_
.
answered Oct 23, 2015 at 7:57
CyclonecodeCyclonecode
28.5k11 gold badges74 silver badges92 bronze badges
To add a prefix to all files and folders in the current directory using util-linux’s rename
(as opposed to prename
, the perl variant from Debian and certain other systems), you can do:
rename '' <prefix> *
This finds the first occurrence of the empty string (which is found immediately) and then replaces that occurrence with your prefix, then glues on the rest of the file name to the end of that. Done.
For suffixes, you need to use the perl version or use find.
answered Jan 28, 2016 at 22:15
koyaekoyae
6926 silver badges12 bronze badges
2
If you have Ruby(1.9+)
ruby -e 'Dir["*"].each{|x| File.rename(x,"PRE_"+x) }'
answered Jan 24, 2011 at 23:55
kurumikurumi
24.9k4 gold badges44 silver badges51 bronze badges
with Perl:
perl -e 'rename $_, "PRE_$_" for <*>'
answered Jan 25, 2011 at 3:40
tadmctadmc
3,70416 silver badges14 bronze badges
On my system, I don’t have the rename
command. Here is a simple one liner. It finds all the HTML files recursively and adds prefix_
in front of their names:
for f in $(find . -name '*.html'); do mv "$f" "$(dirname "$f")/prefix_$(basename "$f")"; done
answered Aug 14, 2014 at 10:04
conradkleinespelconradkleinespel
6,3209 gold badges49 silver badges86 bronze badges
1
Here is a simple script that you can use. I like using the non-standard module File::chdir
to handle managing cd
operations, so to use this script as-is you will need to install it (sudo cpan File::chdir
).
#!/usr/bin/perl
use strict;
use warnings;
use File::Copy;
use File::chdir; # allows cd-ing by use of $CWD, much easier but needs CPAN module
die "Usage: $0 dir prefix" unless (@ARGV >= 2);
my ($dir, $pre) = @ARGV;
opendir(my $dir_handle, $dir) or die "Cannot open directory $dir";
my @files = readdir($dir_handle);
close($dir_handle);
$CWD = $dir; # cd to the directory, needs File::chdir
foreach my $file (@files) {
next if ($file =~ /^.+$/); # avoid folders . and ..
next if ($0 =~ /$file/); # avoid moving this script if it is in the directory
move($file, $pre . $file) or warn "Cannot rename file $file: $!";
}
answered Jan 25, 2011 at 16:06
Joel BergerJoel Berger
20.2k5 gold badges49 silver badges104 bronze badges
This will prefix your files in their directory.
The ${f%/*}
is the path till the last slash /
-> the directory
The ${f##*/}
is the text without anything before last slash /
-> filename without the path
So that’s how it goes:
for f in $(find /directory/ -type f); do
mv -v $f ${f%/*}/$(date +%Y%m%d)_Prefix_${f##*/}
done
Paul Roub
36.2k27 gold badges82 silver badges90 bronze badges
answered Jan 11, 2018 at 16:22
Open cmd and set the directory to the folder and run the following command:
for /f "tokens=*" %a in ('dir /b') do ren "%a" "00_%a"
00_
is prefix in "00_%a"
, so you can change it according to your requirements.
It will rename all of the files in the selected folder.
Koedlt
2,0854 gold badges9 silver badges27 bronze badges
answered Dec 30, 2022 at 7:05
Пакету удалить и изменить префикс имени файла
Общие методы использования класса файлов и класса String
1.1 Изменить цель
перед фиксацией
После модификации
1.2 Использовать API.
java.lang.String
возвращаемое значение | метод |
---|---|
String |
replace(char oldChar, char newChar) Возвращает строку, которая вызывает все появления oldChar В этой строкеnewChar 。 |
boolean |
startsWith(String prefix) Проверьте эту строку в начале указанного префикса. |
String |
substring(int beginIndex) Возвращает строку, которая является подкором этой строки. |
java.io.File
возвращаемое значение | метод |
---|---|
boolean |
renameTo(File dest) Переименуйте файл, который представлен этим абстрактным путем. |
File[] |
listFiles() Возвращает абстрактное имя пути, указывающее файл в каталоге, представленном абстрактным путем. |
String |
getParent() Возвращает это абстрактное название пути null Строка имени пути, если это имя пути не названо родительским каталогом, возвращайте NULL. |
String |
getName() Возвращает имя файла или каталога, представленного этим абстрактным именем пути. |
1.3 идеи
- Новый файл объект через абсолютный путь
- Возвращает объект файла, соответствующий всем файлам в папке через метод listfiles ().
- Исходное имя файла получено через метод GetName (), и метод для увеличения префикса и префикса удаления через метод String и, наконец, генерируют новые файлы файлов на основе модифицированного соединения String Downere () и «\».
- Напишите метод AddPrefix, переименуйте объект файла после каждого объекта файла с массивом файлов, чтобы добавить префикс, пройдя массив файлов.
1.4 код
package test;
import jdk.nashorn.internal.ir.CallNode;
import java.io.File;
public class FileTest {
public static void main(String[] args) {
File file = new File(«F: \ Bilibilidown \ 2020JAVA Foundation - углубленная структура данных обучения системы и алгоритм»);
System.out.println(file.getAbsolutePath());
File[] files = file.listFiles();
/ / Плюс префикс
for (File file1 : files) {
String prefix = «Фонд 2020Java - углубленная система обучения системы обучения и алгоритм -»;
addPrefix(«Фонд 2020Java - углубленная система обучения системы обучения и алгоритм -», file1);
}
// Удалить префикс
for (File file1 : files) {
String prefix = «Фонд 2020Java - углубленная система обучения системы обучения и алгоритм -»;
deletePrefix(prefix, file1);
}
}
public static void addPrefix(String prefix, File file1) {
String name = file1.getName();
File file2 = new File(file1.getParent() + "\" + prefix + name);
file1.renameTo(file2);
}
public static void deletePrefix(String prefix, File file1) {
int length = prefix.length();
String name = file1.getName();
File file2 = new File(file1.getParent() + "\" + name.substring(length));
file1.renameTo(file2);
}
}
1.5 Сводка
Причина заключается в том, что после добавления списка воспроизведения в PotPlayer, потому что имя файла имеет префикс из тех же 28 символов, панель списка воспроизведения необходимо расширить, чтобы увидеть соответствующую название главы, поэтому я хочу удалить тот же префикс. I Haven «Практические приложения, так как я узнал IO, поэтому я попробовал воду, углубляя понимание и память.
|
|||
vadim777
03.03.16 — 12:41 |
Конфы — Розница и Бухгалтерия. Но это не важно. |
||
LordCMEPTb
1 — 03.03.16 — 13:01 |
Найти документы, заменить первые символы номера на нужный префикс и записать, как я понимаю, не предлагать? |
||
vadim777
2 — 03.03.16 — 13:14 |
(1) Вручную? |
||
Живой Ископаемый
3 — 03.03.16 — 13:16 |
нет, программо |
||
vadim777
4 — 03.03.16 — 13:19 |
(3) Продолжайте, уже интересно… |
||
opera199
5 — 03.03.16 — 13:29 |
Обработкой универсальныйподбориобработкасправочниковидокументов |
||
vadim777
6 — 03.03.16 — 13:31 |
(5) Дайте, Pls. |
||
Fish
7 — 03.03.16 — 13:32 |
(6) http://its.1c.ru/db/metod8dev#content:3686:hdoc |
||
vadim777
8 — 03.03.16 — 13:34 |
(7) Спасибо, пробую. |
||
vadim777
9 — 09.03.16 — 12:03 |
(7) Отличная обработка, если-бы не нужно было каждый раз указывать Объект поиска. А вот чтоб для всех объектов в базе изменить префикс в номере? |
||
marvak
10 — 09.03.16 — 12:05 |
(9) |
||
vadim777
11 — 09.03.16 — 12:12 |
(10)Серьезно. Уже пол-часа сижу, перебираю объекты. |
||
marvak
12 — 09.03.16 — 12:27 |
(11) |
||
marvak
13 — 09.03.16 — 12:28 |
(12)+ |
||
marvak
14 — 09.03.16 — 12:29 |
(12)++ |
||
vadim777 15 — 09.03.16 — 12:42 |
marvak, я имел в виду для всех объектов базы. Для всех справочников, документов. Кнопка НайтиОбъекты неактивна, пока не укажешь Объект поиска. |
TurboConf — расширение возможностей Конфигуратора 1С |
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку «Обновить» в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Таблицы базы данных Вордпресс сайта имеют по умолчанию префикс wp_
. Многие специалисты по безопасности рекомендуют изменить этот префикс для увеличения безопасности сайта. Нужно ли менять префикс, или это изменение лишь ненамного увеличит безопасность сайта?
Суть этого способа защиты в том, что изменение префикса поможет избежать исполнения SQL запросов к базе данных. Обычно хакботы используют стандартные запросы с префиксом wp_
в своих атаках, но если вы измените префикс базы данных на уникальный, то бот получит ошибку.
Префикс базы данных можно изменить во время установки Вордпресс, но если у вас уже есть работающий сайт, то в этой статье вы узнаете, как изменить префикс базы данных вручную или при помощи плагинов.
Чтобы изменить префикс БД вручную, надо сделать изменения в приложении phpMyAdmin при помощи SQL запросов, и изменить запись о префиксе в файле wp-config.php.
В плагинах безопасности префикс базы данных меняется в несколько кликов.
Содержание:
Зачем менять префикс базы данных
Аргумент Против
Аргументы За
Сделайте бэкап
- Изменение префикса в базе данных
- Изменение в wp-config.php
- Изменения в базе данных
- Изменения внутри таблиц
- Записи в таблице Options
- Записи в таблице Usermeta
- Решение проблем
- Плагины
Сделайте бэкап
Заключение
Зачем менять префикс базы данных
Многие специалисты рекомендуют изменить префикс БД для того, чтобы не дать возможность хакеру получить контроль над базой данных при помощи SQL запросов.
Существует 2 типа SQL внедрений. Обычное SQL внедрение — когда хакер получает возможность посылать команды базе данных и получать ответы от базы данных. Слепое SQL внедрение — когда хакер может посылать команды базе данных, но не получает ответов от нее.
В обоих случаях хакер может сделать SQL запрос к вашему сайту без вашего ведома. Если хакер может выполнить такой запрос, у него появится доступ к базе данных сайта, то есть он может изменить записи в базе данных.
После получения контроля над базой данных злоумышленники обычно меняют логин и пароль администратора. Администратор сайта больше не может войти в админку сайта, а хакеры продолжают делать с сайтом что хотят, от рассылки спама с этого сайта и кражи личной информации до заражения других сайтов и рассылки спама с них и кражи другой информации.
Аргумент Против
Причина не менять префикс базы данных состоит в том, что если база данных выполняет какие-то запросы злоумышленника, то в итоге он все равно может получить доступ к базе данных.
Если первая попытка хакера получить ответ от базы данных оказывается неудачной, он может создать новый запрос к базе данных для поиска второй части названий таблиц, которые имеют стандартные имена.
Например, второй запрос может запрашивать имена, содержащие usermeta
или postmeta
в названии. Эти имена являются именами двух стандартных таблиц Вордпресс. Поиск вернет полное имя таблицы вместе с новым префиксом таблицы.
Хотя может показаться, что нет смысла менять префикс базы данных, есть несколько аргументов с другой стороны.
Аргументы За
Изменение префикса рекомендовано в руководстве по увеличению безопасности в Кодексе Вордпресс.
Эта рекомендация попала туда после устранения разработчиками Вордпресс уязвимостей, связанных с SQL внедрениями.
Причина в том, что хакеры редко ищут уязвимости сайтов, посещая сайты в браузере вручную. Хакеры создают ботов, которые автоматически обходят сотни или тысячи сайтов и ищут в них известные уязвимости по имеющимся у них спискам уязвимостей, которые находятся в открытом доступе.
После того, как на сайте находится уязвимость, например такая, которая позволяет выполнять SQL запросы злоумышленника, боты взламывают такие сайты, отправляют сообщение хакеру и идут дальше.
Если вы измените префикс базы данных, боты получат ответ с ошибкой от базы данных, так как они запрограммированы создавать стандартные запросы, в котором содержится префикс wp_
. Если ваш сайт попадется такому боту, то бот получит ошибку и пойдет дальше на тот сайт, где база данных даст ответ на запрос с префиксом wp_
.
Изменение префикса wp_
на что-нибудь уникальное поможет отбить первую волну автоматических атак, но не поможет, если хакер вручную попробует получить доступ к базе данных, поэтому кроме изменения префикса нужно иметь другие способы защиты сайта.
- Руководство по безопасности Вордпресс
Сделайте бэкап
Так как вы будете работать с глубокими настройками базы данных и файлом wp-config.php, сделайте бэкап всего сайта и базы данных. Если что-то пойдет не так, вы сможете восстановить сохраненную версию.
- Бэкап Вордпресс
1. Изменение в wp-config.php
Этот файл находится в корневой папке сайта, скачайте его на компьютер с помощью ftp-клиента или менеджера файлов на хостинге.
Откройте файл, найдите эту строку:
Измените wp_
на что-нибудь уникальное, но рекомендуется оставить нижнее подчеркивание в конце. Префикс может содержать цифры, буквы и знак подчеркивания, например, db14_
, fr23br17_
, a01_b01_
и так далее.
Сохраните файл и закачайте обратно на сервер. Если теперь вы попробуете зайти на сайт, он будет недоступен. Так и должно быть, потому что теперь данные в базе данных не соответствуют данным в файле wp-config.php.
Чтобы изменить префиксы в базе данных переходим к следующему шагу:
2. Изменения в базе данных
Зайдите на хостинг и откройте базу данных.
В базе данных нужно поменять префиксы главных таблиц, это делается с помощью SQL запросов на вкладке SQL. Структура запроса для изменения всех таблиц такая:
RENAME table `wp_название-таблицы` TO `новый-префикс_название-таблицы`;
Замените название-таблицы
на нужное название таблицы, и новый-префикс
на ваш новый префикс, который вы сохранили в файле wp-config.php.
1. Для одиночной установки Вордпресс измените префиксы в стандартных таблицах Вордпресс:
Можете скопировать и выполнить сразу все запросы, не забудьте заменить новый-префикс
на ваш новый префикс.
2. Для мультисайт установки добавьте эти префиксы:
Измените новый-префикс
на новый префикс.
Также измените эти таблицы:
wp_#_commentmeta
wp_#_comments
wp_#_links
wp_#_options
wp_#_postmeta
wp_#_posts
wp_#_terms
wp_#_term_relationships
wp_#_term_taxonomy
Замените #
на ID вашего подсайта. Например, запрос к таблице wp_commentmeta подсайта с ID 2 будет wp_2_commentmeta
Кроме этих запросов нужно изменить префикс в таблицах, которые создали установленные плагины, и таблицы плагинов, которые были созданы для подсайтов в Мультисайт установке. Посмотрите в левой колонке какие еще таблицы остались со старым префиксом, измените их вручную тем же способом.
3. Изменения внутри таблиц
После того, как вы изменили названия таблиц, нужно изменить некоторые записи в таблицах options
и usermeta
.
Записи в таблице Options
В этой таблице надо изменить несколько записей. Для облегчения поиска можно использовать поисковый запрос. Замените новый-префикс
на ваш новый префикс:
Поиск должен показать все записи, которые соответствуют запросу. Для редактирования кликните два раза или нажмите Карандаш на каждой записи.
Записи в таблице Usermeta
Как в таблице Options, в таблице Usermeta надо заменить несколько записей. Чтобы не искать их вручную, можно использовать запрос:
Замените новый-префикс
на новый префикс, который вы добавили в wp-config.php.
После этого сайт должен начать работать с новым префиксом базы данных.
Решение проблем
Если вы получили ошибку прав доступа, или ошибку установления соединения с базой данных, это значит, что вы забыли переименовать одну из таблиц или префикс записи. Вернитесь в phpMyAdmin и найдите таблицу или запись, которую вы пропустили.
Некоторые плагины предполагают, что префикс базы данных стандартный, и если вы уверены, что переименовали все таблицы и плагины, попробуйте деактивировать все плагины, и включать их по одному, чтобы найти, какой из них делает сайт недоступным. Удалите плагин или найдите ему альтернативу.
Плагины
Если вы не хотите делать это вручную, можно сделать это с помощью одного из плагинов безопасности. Вы можете использовать маленький плагин, который делает только эту работу, например, Brozzme DB Prefix, или большой плагин, где эта функция находится среди многих других, например All in One WordPress Security.
Перед изменением префикса сделайте бэкап сайта и базы данных.
Поставьте галочку, чтобы плагин сгенерировал новый префикс, или придумайте свой вариант. Плагин сделает изменения в базе данных и в файле wp-config.
Префикс базы данных изменен на xvi0f_
. Изменены префиксы 34 таблиц и сделаны изменения в таблицах options и usermeta. Процесс такой же, как в ручном режиме, но занимает меньше секунды.
В других плагинах изменение префикса базы данных делается аналогично.
Сделайте бэкап
После того, как вы изменили префикс базы данных вручную или автоматически, сделайте еще один бэкап.
Заключение
Изменение префикса базы данных помогает избежать только один вид автоматических атак. Чтобы защитить сайт от других атак, установите какой-нибудь плагин безопасности и читайте Руководство по безопасности Вордпресс.
Читайте также:
- Подробное описание плагина Sucuri Security
- Как настроить мощную защиту сайта на основе бесплатного плагина Sucuri Security
- Подробное описание Security Ninja Pro
Надеюсь, статья была полезна. Оставляйте комментарии.
По умолчанию все таблицы базы данных WordPress имеют префикс wp_. Если вы не задали другой префикс при установке системы система присвоит именно этот префикс базе данных и соответственно всем её таблицам.
Вступление
По умолчанию все таблицы базы данных WordPress имеют префикс wp_. Если вы не задали другой префикс при установке системы система присвоит именно этот префикс базе данных и соответственно всем её таблицам.
Для повышения безопасности сайта и практической защиты от хакерских SQL инъекций, принято менять префикс базы данных WordPress, и задавать произвольный набор букв и цифр.
Не знаю почему, но система рекомендует длину префикса в четыре символа. Поменять префикс базы данных WordPress можно несколькими способами, о которых и пойдет речь в этой статье. Для начала разберемся, зачем, вообще, менять префикс базы данных.
Ответ, на вопрос, Зачем менять префикс базы данных WordPress, до банальности прост: Чтобы усложнить взлом сайта. Кроме этого, на одной базе данных можно запустить несколько копий сайта WordPress, и у каждой копии должна быть своя база данных со своим префиксом.
По умолчанию, при установке WordPress задается префикс базы данных wp_. Его можно поменять, еще на этапе установки WordPress.
Но, при установке, вы могли этого не сделать или не знали, что это лучше сделать. Будем считать, что нужно поменять префикс на рабочем сайте WordPress.
Не нужно устанавливать лишние плагины для изменения префикса БД. Это лишнее. Конечно, если установили плагин безопасности, в котором есть инструмент замены префикса базы данных, то этот вопрос решен. Например, в плагине безопасности iThemes Security есть такой инструмент. А вот как изменить префикс базы данных без плагинов, так сказать «руками» разберем дальше.
Самый простой и надежный способ сменит префикс внизу статьи. Можете сразу идти туда.
Замена префикса базы данных в phpMyAdmin
Если на вашем сервере есть phpMyAdmin, то можно поменять префикс БД там.
- Войдите панель вашего хостинга, а из нее в phpMyAdmin. Откройте базу данных вашего сайта WordPress.
- Отметьте все таблицы (внизу есть поле «Отметить все»).
- Далее в фильтре действий выберите «Изменить префикс БД».
Для префикса можно использовать любой набор латинских букв и цифр. Если хотите совсем зашифроваться, используйте любой инструмент формирования паролей и сформируйте префикс в виде пароля. Например, в таком виде: E2g2yJ3J.
Но это еще не все. В таблицах базы данных нужно найти все таблицы с префиксом wp_, которые не видны в обзоре таблиц. Это особенно важно, для таблицы «wp_usermeta». Алгоритм простой, ищите все таблицы с префиксом «wp_» и меняете на свой префикс.
Как видите, замена префикса базы данных в phpMyAdmin хоть и не сложное занятие, но требует некоторого навыка. Поэтому поменяем префикс, немного по-другому.
Замена префикса базы данных в текстовом редакторе
Считаем, что резервная копия БД и сайта у вас уже сделана.
- Идем в phpMyAdmin.
- Открываем структуру базу данных сайта.
- Делаем копию базы данных без сжатия, в формате sql. Кнопка «Экспорт» в панели инструментов.
- Открываете файл базы данных sql, в текстовом редакторе, например Notepad++.
- Поиском в редакторе ищите «wp_» и меняете на свой префикс.
- Сохраняете отредактированный файл.
- Идете, назад, в phpMyAdmin.
- Удаляете старую БД ( выделяете все таблицы и удаляете отмеченные).
- Заливаете отредактированный файл sql, на сервер. Кнопка «Импорт» в панели инструментов.
Все база данных с новым префиксом залита на сервер. Осталось отредактировать файл wp-cofig.php, сайта.
Редакция файла wp-cofig.php
Редактировать файл wp-config.php нужно при любом варианте изменения префикса.
- По FTP заходите в каталог сайта.
- Копируете файл wp-cofig.php на компьютер и открываете его для редактирования в текстовом редакторе.
- Ищите строку (№62) и меняет старый префикс «wp_» на новый префикс.
- Сохраняете отредактированный файл в кодировке “кодировать в UTF-8 без BOM” и заливаете его по FTP обратно в каталог сайта, в режиме перезаписи.
Все готово. Теперь вы знаете, как поменять префикс базы данных WordPress
Вывод
В завершении стоит отметить, что меняется префикс для повышения безопасности сайта и не является обязательной. Понятно, что исходный префикс может быть любой, и не обязательно «wp_» и менять префикс можно несколько раз.
©www.wordpress-abc.ru