Как проверить потенциальное имя базы данных?

0

Я хочу предложить пользователю ввести имя базы данных и предупредить его, если он недействителен.

Есть ли более простой способ, чем на самом деле пытаться создать базу данных и проверить результат?

Нет большой, мне просто интересно. PHP и MySql, но мне нужно, чтобы он был совместимым с ODBC.

Теги:
odbc

1 ответ

1
Лучший ответ

У вас должен быть свой PHP script проверять имя перед его отправкой и уловить любую ошибку, возвращающуюся из MySQL при попытке ее создания.

PHP может проверять имя на регулярное выражение, например. Возможно, вы хотите разрешать только алфавитные символы.

На самом деле, я настоятельно рекомендую только принимать алфавитные символы и проверять это до того, как когда-либо отправит что-либо в команду базы данных... нет смысла давать кому-либо возможность представить значения, которые могут привести к введению SQL-инъекции в контексте пользователь с возможностью создания баз данных.

Но я бы тоже спросил; Вам действительно нужно разрешить пользователям определять свои собственные имена баз данных? Может показаться "приятным" включить его, но есть ли реальная польза от создания полуслучайного или увеличивающегося имени для пользователей, исключая необходимость проверки их ввода в этом конкретном случае?

  • 0
    +1 Знаешь ли ты такое регулярное выражение? И это более надежно, чем пытаться создать и проверить результат? Мне просто интересно, как другие это делают, это должно быть довольно стандартно.
  • 1
    Ой, извини; также предназначено для публикации: ^[a-zA-Z]{10,20}$ будет соответствовать только имени, используя только буквы, длиной от 10 до 20 символов. Вы могли бы также безопасно добавить подчеркивание и цифры; но я бы не стал добавлять больше, чем это.
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню