Добавьте имя пользователя базы данных и пароль вместе с сервером usrnm и pwd

0

У меня есть этот код, который вставляет данные пользователя в базу данных.

mysql_connect("server address","username","password");
mysql_select_db("login");
mysql_query("INSERT INTO login(name,username,password,email)VALUES('$_POST[fname]','$_POST[username]','$_POST[pw]','$_POST[email]')") or die("cannot execute the query");

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

Где я должен упоминать как имя пользователя, так и пароль?

  • 1
    Не ответ на ваш вопрос, но, пожалуйста, изучите санацию ваших строк, а также посмотрите на подготовленные MySQL заявления! Вы никогда не должны непосредственно вводить данные формы в базу данных в случае внедрения SQL
  • 1
    @AndyHolmes Я не могу не согласиться. Я удивлен тем, сколько раз эти вопросы задаются и содержат ошибки такого рода. И я не хочу знать, сколько раз эти вопросы не задавались и недостатки безопасности проскальзывали под ковер. Интересно, насколько безопасны наши аккаунты в Интернете ...
Показать ещё 2 комментария
Теги:
database

1 ответ

2

mysql_connect() имеет абсолютно никакого отношения к входам в сервер и относится только к MySQL.

При этом у вас есть ряд проблем:

  1. Вы используете устаревшие функции mysql_*. Вместо этого вы должны использовать расширение mysqli PDO.
  2. Вы ужасно уязвимы для SQL-инъекций. НИКОГДА, НИКОГДА, НИКОГДА не используйте непосредственно входные данные от пользователя (например, $POST, $_GET и т.д.) Без предварительной очистки/проверки.
  3. Вы действительно должны привыкнуть проверять ответ на каждую функцию и обрабатывать ошибки соответствующим образом. Например, вы никогда не должны даже получить mysql_query() строка кода, если mysql_connect() и mysql_select_db() звонки не увенчались успехом.
  • 0
    Я использую функции стрип-слэшей и стрип-тегов на самой странице регистрации пользователя. Итак, я думаю, все в порядке, верно?
  • 0
    @GreatKai Вам необходимо очищать входные данные каждый раз, когда вы работаете с ними. Только то, что вы санировали данные при вставке в базу данных, не означает, что чтение из БД с неанизированными данными безопасно.

Ещё вопросы

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