Как проверить потенциальное имя базы данных? - PullRequest
0 голосов
/ 14 ноября 2010

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

Есть ли более простой способ, чем собственно попытаться создать базу данных и проверить результат?* Не важно, мне просто любопытно.PHP и MySql, но мне нужно, чтобы он был совместим с ODBC.

1 Ответ

1 голос
/ 14 ноября 2010

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

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

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

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

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