Как изменить префикс таблиц?

Автор Idrassil, 10 июня 2011, 15:27:12

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

Idrassil

Подскажите пожалуйста по такому вопросу. Хочу изменить префикс таблиц в бд (в целях безопасности). Как это лучше сделать? Насколько я понял, надо выполнить запрос к бд, вида: ALTER TABLE `smf_tablica` RENAME `abcxqy_tablica` ;

Интересно такое:
1. Правильно ли вообще переименовывать таким кодом? (sql знаю плохо, нашел код в инете). Может надо указывать еще какие-то параметры?
2. Может ли "полететь" кодировка при переименовывании? Если да - как от этого уберечься?
3. Будет ли база данных работать медленней, если префикс таблиц будет длинным? Или это никак не влияет.
Как это делают? Ставят форум на тех. обслуживание, потом выполняют запрос к бд и меняют переменную $db_prefix на новое значение. Так правильно?

BIOHAZARD

а с чего вы взяли, что это как-то повлияет на безопасность?
Мои моды:
  • RedirectPage
  • Counters
  • CustomSearch
  • SypexDumper
   адаптирую темы    1.1.хx<=>2.0задавая вопросы, старайтесь сразу указывать конечную цель, предполагаемый Вами путь не обязательно окажется самым коротким

Любые моды на заказ

Idrassil

Мне сказали, что при sql иньекциях хорошо, когда названия полей не стандартные, а какие-то другие (чтобы не угадали и не сдампили базу).

BIOHAZARD

названия полей и названия таблиц - это две большие разницы

и в любом случае вас жестоко обманули
если инъекция есть, то уже всё равно, что и как вы назвали
Мои моды:
  • RedirectPage
  • Counters
  • CustomSearch
  • SypexDumper
   адаптирую темы    1.1.хx<=>2.0задавая вопросы, старайтесь сразу указывать конечную цель, предполагаемый Вами путь не обязательно окажется самым коротким

Любые моды на заказ

Idrassil

Я не так выразился, имел ввиду именно названия таблиц, точнее префикс. Ибо, как я понимаю, если менять полное название таблицы (с smf_members скажем на xxx_users), то придется переписывать php код форума, а это сложно.

BIOHAZARD, т.е. выходит, смысла в изменение префикса нет абсолютно никакого? И на безопасность это не повлияет вообще никак?

digital

Цитата: BIOHAZARD от 10 июня 2011, 15:43:02
а с чего вы взяли, что это как-то повлияет на безопасность?
Всё же стандартный префикс таблиц слепым инъекциям на руку.

Хотел сегодня на одном из форумов сменить префикс таблиц со стандартного, всё делал как обычно. Через phpMyAdmin экспортом выгружал в блокнот дамп, изменял префикс в тексте, но вот при выполнении SQL-запроса phpMyAdmin заругался, что слишком большой дамп. Как оптимально изменить префикс таблиц на форуме SMF? Хотя можно раздробить запрос на части, но не хотелось бы.

BIOHAZARD

Цитата: digital от 17 сентября 2011, 22:28:32
Всё же стандартный префикс таблиц слепым инъекциям на руку.
ну да, на целых две минуты ускоряет взлом


Цитата: digital от 17 сентября 2011, 22:28:32

Хотел сегодня на одном из форумов сменить префикс таблиц со стандартного, всё делал как обычно. Через phpMyAdmin экспортом выгружал в блокнот дамп, изменял префикс в тексте, но вот при выполнении SQL-запроса phpMyAdmin заругался, что слишком большой дамп. Как оптимально изменить префикс таблиц на форуме SMF? Хотя можно раздробить запрос на части, но не хотелось бы.
а почему нельзя просто в phpMyAdmin`e префиксы переименовать? работы не на много больше
Мои моды:
  • RedirectPage
  • Counters
  • CustomSearch
  • SypexDumper
   адаптирую темы    1.1.хx<=>2.0задавая вопросы, старайтесь сразу указывать конечную цель, предполагаемый Вами путь не обязательно окажется самым коротким

Любые моды на заказ

digital

Цитата: BIOHAZARD от 18 сентября 2011, 06:34:24
ну да, на целых две минуты ускоряет взлом
Перебор комбинаций префиксов из 3-4 символов выполнится и быстрее, а вот почему инъекция не прошла, может быть не понятно: то ли префикс не подобран, то ли самой уязвимости нет. Впрочем, в данном случае причины смены префикса не так и важны.

Цитата: BIOHAZARD от 18 сентября 2011, 06:34:24а почему нельзя просто в phpMyAdmin`e префиксы переименовать? работы не на много больше
Может подскажете, как это грамотно сделать? Наверное через какой-то SQL запрос?

Ещё попутно возник вопрос. При просмотре БД в  phpMyAdmin обнаружилось, что у трех таблиц
Цитироватьsmf_admin_info_files
smf_approval_queue
smf_log_group_requests
сравнение (collation) почему-то установлено в cp1251_general_ci, хотя у остальных оно utf8_general_ci. Это вообще  нормально? Глюков в работе форума не замечал, кракозябров тоже не видел.

BIOHAZARD

Цитата: digital от 18 сентября 2011, 09:48:11
Перебор комбинаций префиксов из 3-4 символов выполнится и быстрее, а вот почему инъекция не прошла, может быть не понятно: то ли префикс не подобран, то ли самой уязвимости нет.
на сегодня в smf нет известных незакрытых уязвимостей

Цитата: digital от 18 сентября 2011, 09:48:11
Может подскажете, как это грамотно сделать? Наверное через какой-то SQL запрос?
да вручную переименуйте и не мучайтесь
шестьдесят раз многовато конечно, но переживёте

Цитата: digital от 18 сентября 2011, 09:48:11
Ещё попутно возник вопрос. При просмотре БД в  phpMyAdmin обнаружилось, что у трех таблиц сравнение (collation) почему-то установлено в cp1251_general_ci, хотя у остальных оно utf8_general_ci. Это вообще  нормально? Глюков в работе форума не замечал, кракозябров тоже не видел.
работает - не трогайте (основное правило программиста)

Мои моды:
  • RedirectPage
  • Counters
  • CustomSearch
  • SypexDumper
   адаптирую темы    1.1.хx<=>2.0задавая вопросы, старайтесь сразу указывать конечную цель, предполагаемый Вами путь не обязательно окажется самым коротким

Любые моды на заказ

digital

Цитата: BIOHAZARD от 18 сентября 2011, 13:31:42
да вручную переименуйте и не мучайтесь
шестьдесят раз многовато конечно, но переживёте
Вручную переименовать - не проблема. Проблема, что не вижу, как это сделать в PMA. :( Как переименовать поле в таблице - это понятно, а вот как переименовать таблицу, никак не найду.

Макар

Вас Гоша забанил ?

ЦитироватьИзменение свойств таблицы производиться при помощи команды ALTER TABLE .
Синтаксис команды ALTER TABLE
ALTER [IGNORE] TABLE tbl_name alter_specification [, alter_specification ..

еще синтаксис можно подсмотреть в файле апгрейд пхп из пакета обновления. Там есть команда создания резервной копии базы данных с добавлением нового префикса бакап . . . Немного пошаманить над ней  и можно получить требуемое . . . .
Если Вы здесь недавно, не обольщайтесь тоном некоторых дискуссий.
Все чаще слова - юзай поиск, приобретают смысл - иди в ж..........  Приобретение смысла автоматизированно - Ответы на любой вопрос по SMF
Не пишите несколько сообщений подряд - тут вам не Twitter  >:( в остальных ситуациях мы не сильно зверствуем 2funny

digital

Макар, спасибо! Вот вторую часть ответа в Гоше можно было бы и не найти. ;)

Макар

Хм . . . Ну да.
для того тут и сидим . . .
что бы искать ответы вместе
Если Вы здесь недавно, не обольщайтесь тоном некоторых дискуссий.
Все чаще слова - юзай поиск, приобретают смысл - иди в ж..........  Приобретение смысла автоматизированно - Ответы на любой вопрос по SMF
Не пишите несколько сообщений подряд - тут вам не Twitter  >:( в остальных ситуациях мы не сильно зверствуем 2funny

digital

Разобрался, как с помощью SQL Выполнить переименование таблиц. Можно так:
RENAME TABLE old_table TO new_table;
а можно и по-другому:
ALTER TABLE orig_name RENAME new_name;
И ещё зависит от версии крутящегося на хостинге MySQL.
http://dev.mysql.com/doc/refman/5.0/en/rename-table.html

Всем спасибо!